我正在开发一个 GeoFencing Android 应用程序,它会在用户靠近某个区域时通知用户(类似于 iOS 中的 Start Monitoring for Region)。
我知道我可以在 Android 中使用 AddProximityAlert,但我担心功耗,因为我将添加大约 50 个地理点。
问题是:增加更多点会改变功耗吗?或者无论我加了多少分,它都会保持不变?
我正在开发一个 GeoFencing Android 应用程序,它会在用户靠近某个区域时通知用户(类似于 iOS 中的 Start Monitoring for Region)。
我知道我可以在 Android 中使用 AddProximityAlert,但我担心功耗,因为我将添加大约 50 个地理点。
问题是:增加更多点会改变功耗吗?或者无论我加了多少分,它都会保持不变?
您必须进行测试才能确定:-) 但我的理解是 LocationManager 会定期检查当前位置(如果屏幕关闭,则每 4 分钟进行一次“昂贵的”GPS 检查,如果屏幕处于打开状态则更频繁,不能查找频率),然后将位置与所有注册的中心点进行比较。因此,GPS 方面的功耗是有限的,之后它只是通过检查一系列点创建的“正常”CPU 消耗。
高温高压
我之前没有做过任何测试,但我认为功耗取决于硬件刷新率。您可以设置没有地理点和多个地理点的比较测试。您可能需要静止不动以确保相同的 GPS 能见度。并使用一些功耗工具,例如Battery Historian,来评估功耗。