Android如何确定某个应用是否在"最近的位置请求"下"使用高电量"?

Mar*_*cny 13 gps android battery location android-4.4-kitkat

截至Kitkat(4.4),Android报告我的应用程序是"高电量使用".

我使用网络位置以及GPS.如果我禁用GPS,那么应用程序似乎被标记为"电池使用率低".

我想知道是否有任何使用GPS的提示,同时保持"低电池使用"标签.也许如果您不经常轮询 - 或者它是否被硬编码为GPS =电池杀手?

编辑:

我知道更改这些参数可以延长电池寿命.我的问题更多的是Android是否会认识到这些电池寿命保护的尝试,或者它只是因为它使用GPS而将我的应用程序称为高功率使用.

Sho*_*uri 14

好问题但重复.是的,轮询频率会对电池寿命产生很大影响.因此,应根据具体需求定制获取用户位置更新的频率.

  1. 主要是你读的Android文档requestLocationUpdates的LocationManager,它说:

    requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent)

    为minTime选择合理的值对于延长电池寿命非常重要.每个位置更新都需要来自GPS,WIFI,Cell和其他无线电的电源.选择尽可能高的minTime值,同时仍提供合理的用户体验.如果您的应用程序不在前台并向用户显示位置,那么您的应用程序应避免使用活动提供程序(例如NETWORK_PROVIDER或GPS_PROVIDER),但如果您坚持,则选择minTime为5*60*1000(5分钟)或更大.如果您的应用程序位于前台并向用户显示位置,则选择更快的更新间隔是合适的.

    minDistance参数还可用于控制位置更新的频率.如果它大于0,那么位置提供程序将仅在位置至少改变minDistance米时向您的应用程序发送更新,并且至少已经过了minTime毫秒.但是,位置提供商使用minDistance参数更难以节省功耗,因此minTime应该是节省电池寿命的主要工具.

  2. 请阅读以下内容,了解一些有关如何排水以及可以采取哪些措施以减少电池消耗的良好答案:

    Android常规GPS轮询服务,最大限度延长电池寿命

    使用LocationClient定期获取更新的电池效率最高的方法是什么?

    获取用户在Android中的位置的好方法

    在android中节省gps服务消耗的电池电量

    位置提供商真的是电池耗尽吗?

    如果使用GPS和后台应用程序ios/android,电池寿命

    保持GPS服务活跃并优化电池寿命

希望这可以帮助.

编辑: 我同意@ioan.现在,您可以使用Fused Location API轻松高效地获取位置.


ioa*_*hip 5

我使用了Fused Location(和[ link removed ])并且在每分钟获取一次位置一整天之后,我的应用程序使用了大约4%的电池.

(以前的链接现在是一个试图安装浏览器扩展的停车场:http://kpbird.com/2013/06/fused-location-provider-example.html?m = 1)