【问题标题】:Services in android consumes me much batteryandroid中的服务消耗了我很多电池
【发布时间】:2014-04-30 05:10:49
【问题描述】:

我在 android 中使用一项服务,每 3 秒将下载一个 JSON。 我的问题是这项服务消耗了我很多电池和移动数据计划。 只有当确实有新数据或更新数据时,如何下载信息?

【问题讨论】:

  • 我会说将下载间隔减少到更合理的时间,比如半小时到 2 小时……为什么感觉需要每三秒下载一次 JSON?
  • 谢谢,因为我需要做一些类似于实时的应用程序,因为当任何用户进行更改时,所有用户都可以立即看到数据,有些相当于聊天室

标签: android json android-service android-json


【解决方案1】:

是的,这很耗电。如果您的JSON 很大,它会更多。我肯定会在这里使用一些机制,只要这个JSON 发生变化,就会向我发送一个“信号”。我假设它存储在远程服务器的某个位置,因此您可以在这里使用Google Cloud Messaging:每当它发生变化时,您的远程服务器可以向设备发送一条消息,告诉他们此时有新数据可供下载和下载。

这样你就不会问了,但当有新东西时你会被通知,这样你就不会耗尽电池。

如果您想部署GCM,我想这可能会对您有所帮助:

【讨论】:

  • 非常感谢,我会试试你推荐的
【解决方案2】:

如果数据位于您的服务器上,您可以使用GCM 通知客户端新数据可用。收到此类通知后,将新数据拉到设备上。如果数据不在您的服务器上,您应该定期提取数据。怎么做?使用AlarmManager设置闹钟,将开始下载Service。请注意,您应该使用setInexactRepeating,它会更好地节省电池。最后一点是,对于 Android 版本 >= Gingerbread 的设备,最好使用 use HttpUrlConnection 而不是 Apache HTTP Client

【讨论】:

  • 非常感谢,我会试试你推荐的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-23
  • 2015-10-09
相关资源
最近更新 更多