【问题标题】:Android app: decrease battery usageAndroid 应用程序:减少电池使用量
【发布时间】:2012-08-27 22:27:33
【问题描述】:

我刚刚完成了一个将其数据与服务器同步的应用程序(在后台运行 SyncAdapter)。我把它安装在我的手机上,让它在后台运行(我几乎没有使用我的手机),我发现我的应用程序的 23% 的电池使用量属于我的应用程序,所以我真的需要减少它的电池使用量。

现在我将同步时间设置为 30 秒。这是一个多用户应用程序,如果其他用户与您交互,您会收到通知,我不能将同步时间设置得太高(实际上我想减少它,直到我看到电池使用情况)。

在每次同步中,它总是向服务器询问任何更改并检查本地数据库中的更改。如果本地数据库中有更改,它们将被发送到服务器,如果我们从服务器检索更改,它们将应用于本地数据库。

有人知道一些减少电池使用的技巧吗?

【问题讨论】:

    标签: android synchronization battery


    【解决方案1】:

    您能做的最好的可能是使用推送而不是轮询来实现 GCM (Google Cloud Messaging)。

    通过这种方式,当有新情况发生时,您将能够得到“痒痒”,并且您会知道何时向服务器请求数据。

    【讨论】:

    • 这正是我想要发布的内容。
    • 我不知道GCM,我会尝试使用它。我会尽快接受你的回答。谢谢!
    • 谢谢。我必须告诉你,我已经尝试过实施它,但遇到了一些困难。这是最好的方法,但不是最简单的(至少对我来说不是)。
    【解决方案2】:

    每 30 秒进行一次网络轮询非常激进。我建议您阅读 Google 的这篇文章:http://developer.android.com/training/efficient-downloads/index.html

    但是,如果你真的需要经常请求网络,我看不出有什么神奇的技巧......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-06
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多