I have been reading conflicting information about the GPS signal lock in the XDA Developers Forums.
Certain users say they have to be outdoor to get any lock in to satellites, others say they could lock in their home basement.
Which one is it?
GPS uses radio frequencies between 1 and 2 GHz (L1 signal at 1.57542 GHz and L2 signal at 1.2276 GHz). These have to get through for GPS to work, which is not the same as visibility.
For example, my GPS (Garmin Etrex Legend HCx) gets a fix on the top floor of the house, below the roof made of tiles, insulation and drywall. It doesn't get a fix on lower floors, where there's too much concrete and steel in between.
BTW, I had a Motorola Defy for a while, if I remember correctly it also worked, but had a much lower precision, sometimes it was hundreds of meters off.
Yes, GPS does need a clear view of the sky.
However, that does not mean actual GPS implementations have to rely only on GPS signal to get its location. Most actual GPS implementations (including Android) caches last known location and uses Wifi/Cell positioning to get position information even when there is no GPS signals at all.
I think it may depend on the GPS chip/software on the device. I rarely was ever able to get a lock if the sky was filled with clouds, and when I am in a city with skyscrapers, my location jumps all over the place. But I have a Samsung Galaxy S (Vibrant) and even Samsung admitted that there were some issues with the chip/software on the Galaxy S devices.
Even on a clear day, it could take up towards 3 minutes to get a GPS lock, and that was after I rooted and tweaked the GPS settings, before that, it would take 5 - 10 and sometimes I wouldn't even get a lock.