使用AsyncTask每X次执行请求的服务

时间:2013-01-17 14:49:15

标签: android android-asynctask android-service

我想让我放心,我这样做是最好的做法: 我有一个列表,哪个订单在服务器上发生变化,因此,我希望每20-30秒。执行请求以查看订单是否有任何变化。所以,我创建了ServiceActivityListView绑定,服务每20-30秒绑定一次。使用AsyncTask执行请求。
我选择使用Service执行它,因为我希望列表不断更新,即使应用程序在后台也是如此,而AsyncTask是因为我不希望它在主线程。

这是正确的方法吗?

提前谢谢你,
丹。

1 个答案:

答案 0 :(得分:1)

它会起作用,但你的应用会做很多不必要的工作。这会影响电池寿命。除此之外,根据文档,如果您使用设备无线电,它至少保持20秒的全功率,这对电池也没有好处。您有以下选择:

  1. 使用Google Cloud Messaging。它只允许您在真正需要时执行更新。
  2. 如果您不想或不能使用GCM,请按this guide优化网络访问。从增加更新间隔开始(至少4分钟)。