我有一个基于拉的应用程序,必须每隔15秒从服务器拉出。对于我用正常的AsyncTask,我的代码基本上是这样的:AsyncTask随机停止
protected Void doInBackground(Context... arg0) {
while (true && this.pull_on) {
pull_data();
TimeUnit.SECONDS.sleep(15)
};
现在我有,应用程序只是停止拉出蓝色的大问题。 No exeptions
,AsyncTask的状态是'正在运行','pull_on'变量被设置为'true',但它只是停止拉动。
我可以not reproduce
这个,它只是有时会发生,我可以长时间工作完美,然后它就停止。
有没有人有这样的想法?
我应该用计时器来重构和实现它吗?
使用服务还有什么好处,而我知道的是什么?电池电量不是问题。
感谢您的帮助。
P.S.我应该补充一点,有时我会从AsyncTask开始创建Activity。像这样'ApplicationManager.getCurrentActivity()。startActivity(myIntent)',但我没有缝成一个问题。
P.P.S.
定时器接缝限制为我想使用,我确实想每15秒做一次,但在某些特殊情况下,我想停止ping并重新启动它。对于这些接缝的黑客攻击量更多,然后只需使用AsyncTask即可完成。
当任务停止拉,看看发生了什么事情你可以做一个线程转储。你在做什么pull_data()? – ben75
我得到一个JSON,这取决于我收到什么消息我要么开始一个活动,更新数据库中的东西,或者如果应用程序在后台我创建一个通知。 – nickik