我正在研究为Android / iOS4 /两者编写应用程序的可能性,这些应用程序将在后台使用GPS。我找到了iphone开发者文档的"Receiving Location Events in the Background"部分,它建议我只注册“重要的位置更改”事件。我不知道Android SDK中有这样的功能,但是如果可以的话,这样做仍然是个好主意(以免耗尽电池)。
我的问题是:有没有人为此和iPhone / Android手机做过任何基准测试?到目前为止,我已经看到很多帖子/文档说在背景中听GPS事件是非常糟糕的事情,我应该避免所有费用,但我还没有找到任何数字,只是多少启动后台应用程序监听GPS更改将耗尽(即每次应用程序在后台运行的电量消耗百分比)。
这些信息可能对我(以及可能还有其他人)有帮助,因为我可以更频繁地轮询,甚至可以根据耗电量注册/取消注册我的GPS监听器。从本质上讲,我可以设法确定我的应用程序在后台可以耗尽多少电池寿命。
谢谢!
答案 0 :(得分:4)
Android SDK中存在显着的位置更改
当您订阅获取位置更新时,您可以添加必须在广播之间传递的minTime
和minDistance
public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)
查看方法[here] [1]
的描述[1]:http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String,long,float,android.location.LocationListener)