Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 android 中使用一项服务,每 3 秒将下载一个 JSON。我的问题是这项服务消耗了我很多电池和移动数据计划。只有当确实有新数据或更新数据时,如何下载信息?
是的,这很耗电。JSON如果你很大,它会更多。我肯定会在这里使用一些机制,只要这种JSON情况发生变化,就会向我发送一个“信号”。我假设它存储在远程服务器的某个地方,因此您可以Google Cloud Messaging在这里使用:每当它发生变化时,您的远程服务器可以向设备发送一条消息,告诉他们当时有新数据可供下载和下载。
JSON
Google Cloud Messaging
这样一来,您就不会提出问题,而是会在有新内容时收到通知,这样您就不会耗尽电池电量。
如果您想部署,我想这可能会对您有所帮助GCM:
GCM
如果数据位于您的服务器上,您可以使用GCM通知客户端新数据可用。收到此类通知后,将新数据拉到设备上。如果数据不在您的服务器上,您应该定期提取数据。怎么做?用于AlarmManager设置闹钟,将开始下载Service。请注意,您应该使用setInexactRepeating,它会更好地节省电池。最后一点是,最好不要使用Android 版本 >= Gingerbread 的设备。HttpUrlConnectionApache HTTP Client
AlarmManager
Service
setInexactRepeating
HttpUrlConnection
Apache HTTP Client