【发布时间】:2013-01-04 16:27:17
【问题描述】:
我在我的应用程序中使用了许多一直在运行的线程。这些线程用于定期向服务器发送数据。通过服务调用。问题是我的应用程序消耗了大量电池。我想解决这个问题。如何?? 我的意思是gmail等不会消耗那么多电池。
【问题讨论】:
-
如果线程定期发送数据,它们应该只定期运行。有一个组件,其工作是检查是否有数据要发送 - 如果是,则创建一个线程来发送它并完成。
-
@Payal 您的服务是在每次运行时都将更新的数据发送到您的服务器,还是仅用于与服务器同步数据以检查是否有可用的更新?
-
实际上它每 5 分钟发送一次更新数据。在这 5 分钟内,线程已进入睡眠状态。
-
使用唤醒意图服务,定期向服务器发送数据而不是线程。 github.com/commonsguy/cwac-wakeful
-
@Payal : 如果你使用 AlarmManager 和 IntentService 而不是 Thread 或 timer 来实现你当前的代码会更好
标签: java android multithreading