关于receive location updates的文档指出,startLocationUpdates()应该在onResume()和stopLocationUpdates()中调用onPause(),为什么不在onStart()和onStop()?
startLocationUpdates()
onResume()
stopLocationUpdates()
onPause()
onStart()
onStop()
打电话给onResume()和onPause()有什么好处?
这是一个“建议”,不是强制性的。这样做的好处是避免在您不使用/不需要位置时请求位置更新(因此消耗电池),因为活动在后台。
这取决于你的用例,你可以在onStart / onStop上进行,但是如果你在onPause-> onStop过渡期间没有使用这些位置,最好放入onPause。
如果您查看下面的图像,当活动进入前景时会调用onPause,然后暂停onStop。
关于背景/不可见的一个小差异:如果您有一个带有主题对话框的活动,则会调用onPause,但不会调用onStop。