【问题标题】:Android iBeacon client - How to save batteryAndroid iBeacon 客户端 - 如何节省电池电量
【发布时间】:2014-02-23 09:29:11
【问题描述】:

我的任务是为 Android 创建一个 iBeacon 客户端。客户端的目的是当另一个客户端请求用户位置时,通过 WIFI/3g/4g 将最近的信标的 ID 传输到服务器。

现在,我想知道,就电池消耗而言,最好的方法是什么?

有(据我所知)两种方法:

1)。每当最近的 Beacon 的 ID 发生变化时,将新的 ID 直接上传到服务器。

2)。将最近的信标的 ID 存储在本地客户端的手机上。仅当服务器请求客户端这样做时才将其上传到服务器。

编号 1)。意味着每次用户接近新的 iBeacon 时都必须激活 WIFI。另一方面,2)。需要手机监听端口才能处理来自服务器的请求。

编辑:我在这里读到了无线电状态机:http://developer.android.com/training/efficient-downloads/efficient-network-access.html

如果我让 ServerSocket 在后台运行,这会让我的手机处于 Radio Low Power 模式吗?在我看来,选项 1) 将在每次发送信标 ID 时将手机置于全无线电功率,但之后,手机将回到低功耗/睡眠模式,这将节省我的电池电量。 2)另一方面会阻止手机进入睡眠模式,因为我必须保持与服务器的持久连接。

【问题讨论】:

    标签: android android-wifi battery ibeacon


    【解决方案1】:

    我会选择选项一,因为它更简单且不那么脆弱。如果您真的担心电池,只需限制它与服务器通信的频率(例如每小时 10 次),这样它就不会发疯。

    其他东西可能会更多地使用电池,因此请先进行测试并确保这确实需要优化。例如,在后台运行 10 小时,看看它消耗了多少充满电的电池与应用程序未向服务器报告的时间。如果只有百分之几,那么它可能就足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多