0

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

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

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

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

4

2 回答 2

6

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

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

于 2012-08-27T14:24:42.807 回答
1

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

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

于 2012-08-27T14:24:15.473 回答