【发布时间】:2012-08-22 22:42:49
【问题描述】:
我需要每 10 秒从 Android 的服务器发送和获取一些东西。在这里,在 StackOverflow 和文档中,我发现了几十种实现它的方法(我尝试的所有方法都可以完成工作),但似乎到处有人说这种方法有问题。
我尝试循环使用AsyncTask 直到它被取消(即直到活动被终止),我发现这不是一个好的解决方案。在此之前我尝试了普通的Threads,然后我发现它会消耗很多电池。
现在我已经使用 Runnable 和 ScheduledExecutorService 的 scheduleAtFixedRate 函数完成了它,类似于此处提出的代码:
How to run an async task for every x mins in android? 。不用说,它有效。但是,如果我的 Activity 在后台运行,例如用户正在接听来电,它会起作用吗?
最后,我不知道在 Android 手机上最合适的方法是什么。
提前发送。
【问题讨论】:
-
在此期间的任何周期性操作都会耗尽电池,因为它永远不会让 CPU(和系统)进入睡眠状态
标签: java android service scheduled-tasks task