I have a Samsung Galaxy Ace running Android 2.3.6. The problem is that when I'm in the middle of internet browsing, I completely lose my Wi-Fi signal. I've tried a factory reset which didn't help, I've tried different Wi-Fi hotspots, but that didn't help either. I know it's not the connection thats the problem, as the same Wi-Fi connections work perfectly on my laptop. Any help will be greatly appreciated.
Here is the solution that worked perfectly with me: the problem lies in the DHCP settings of the ADSL router.
Follow these steps:
Login to your router and go to DHCP settings (for belkin its 192.168.2.1) and find the item called lease time. The default values of the lease time is usually Forever, which produces a bug in Android. All you have to do is to change the value of the Leasing time from forever to any other long value (depends on the routers options). Here I changed the value from forever to 2 weeks -- and since then I didn't have a single WIFI disconnect.
Gingerbread has certain power saving options. Make sure that the Wi-Fi settings aren't set in such a way that make the Wi-Fi sleep if it's inactive. (The menu varies from phone to phone. So can't be specific)