With a call to LocationManager#requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener), the location provider will only send your application an update when the location has changed by at least minDistance meters AND at least minTime milliseconds have passed. So minTime should be the primary tool to conserve battery life, and, to a lesser extent, minDistance.

These two must imperatively be greater than 0.

Noncompliant Code Example

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
    0,
    0,
    this);

Compliant Code Example

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
    60000L,  // refresh location at least each 60000ms
    10.0f,   // refresh location at least each 10 meters
    this);