使用LocationListener
开发位置感知Android应用时,是否必须在应用完成之前调用LocationManager.removeUpdates()
?
或者更一般地说,是否必须在LocationManager.removeUpdates()
退出Looper
之前致电LocationManager.requestLocationUpdates()
?
LocationManager
是否会自动发现Looper
不再存在且不再需要位置更新?如果有,怎么样?如果没有,它是否会永远盲目地更新(并耗尽电池)?
答案 0 :(得分:0)
当您的应用从堆栈中清除时,它也会删除位置更新。 如果用户仅从前台删除您,您将继续获得更新,直到系统清理您的应用程序。 在您不再需要更新时删除更新是一个很好的做法,并且如果您尝试再次注册您的位置(比如在应用程序的另一个午餐中),它将抛出异常,表示您没有使用unRegister。