为什么要在onResume中调用startLocationUpdates并在onPause中调用stopLocationUpdates?

时间:2019-03-18 15:35:02

标签: android google-maps google-maps-api-3 android-location

有关receive location updates的文档指出,应在startLocationUpdates()的{​​{1}}和onResume()中调用stopLocationUpdates(),为什么不在onPause()和{ {1}}?

调用onStart()onStop()有什么好处?

1 个答案:

答案 0 :(得分:0)

这是“建议”,不是强制性的。 这样做的好处是可以避免由于活动处于后台而不使用位置而不需要位置时请求位置更新(因此会消耗电池)。

这取决于您的用例,您可以在onStart / onStop中进行操作,但是如果在onPause-> onStop转换过程中不使用这些位置,则最好放入onPause。

如果您看下面的图片,则当活动进入前台时onPause将被调用,然后onStop被暂停。

关于背景/不可见的一个小区别: 如果您有一个使用ThemeDialog进行的活动,则将调用onPause,而不是onStop。

enter image description here