2011-07-20 66 views
1

我有一个具有一些后台进程的应用程序,如从服务器下载XML并解析它,并且我正在执行线程中的这些任务。在Android中处理线程

问题出现时,有时一个线程长时间没有获得CPU时间,可能是15分钟到几个小时之间的任何时间,然后线程开始正常工作。

我该如何处理?

+0

通常我会说使用asynctask,但你说它可能需要15分钟+获取XML?究竟需要15分钟以上的时间,是下载XML还是某种长时间运行的过程。 15分钟是很长一段时间.. – Marty

回答

1

使用的AsyncTask类解析XML从服务器

3

使用的AsyncTask类此。

在此

您可以在后台执行,以获取或处理,直到后台程序没有完成这一大类的另一个方法是不执行

检查这个链接,教程与指南

http://www.vogella.de/articles/AndroidPerformance/article.html

http://developer.android.com/reference/android/os/AsyncTask.html

+0

我已经使用异步任务,但我的问题是,我在15分钟后连续下载文件的线程。但是正如我们所知道的,处理器使用一些调度过程来逐个线程。所以有时在丢失CPU时间我的应用程序线程很长一段时间没有获得CPU时间。 Plz告诉我怎样才能恢复CPU的关注度。 – Karan

0

我用的AsyncTask体验不是很好,它会用可怕像15分钟很长操作(你也会有这样的问题为UI interactionlimits等)

我建议你创建一个服务,而不是(IntentService是易于使用),将广播,当它完成它reult。