android中的服务耗费了我很多电池

时间:2014-04-30 05:10:49

标签: android json android-service android-json

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

2 个答案:

答案 0 :(得分:1)

是的,那个电池耗尽了。如果你的JSON很大,情况会更好。我肯定会在这里使用一些机制来发送信号"每当JSON发生变化时。我认为这是存储在远程服务器的某个地方,所以你可以在这里使用Google Cloud Messaging:每当它发生变化时,你的远程服务器就会向设备发送一条消息,告诉他们可以下载的新数据和就在那时下载。

通过这种方式,你不是那个问的人,但是当你有新的东西时,你会被告知,所以你不会耗尽电池。 / p>

我想如果您想部署GCM

,这可能对您有所帮助

答案 1 :(得分:0)

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