在一个应用程序上工作时,我注意到线程数一直在增长
AsyncTask Threads由于某些原因保持打开状态(我确定他们完成了处理和退出)我不知道为什么我继续创建这种类型的更多线程,并且它们将无限期地运行.
是否有任何方式来验证这些线程是否被终止?
有什么已知的问题与AsyncTasks线程remaing打开?
AsyncTask Threads由于某些原因保持打开状态(我确定他们完成了处理和退出)我不知道为什么我继续创建这种类型的更多线程,并且它们将无限期地运行.
是否有任何方式来验证这些线程是否被终止?
有什么已知的问题与AsyncTasks线程remaing打开?
运行时:
public class DoNothingTask extends AsyncTask<Void,Void,Void> { @Override protected Void doInBackground(Void... params) { // TODO Auto-generated method stub return null; } }
我在debbuger中看到一个新的线程,每次我做新的DoNothingTask().execute(null);
作为愚蠢
Thread[<ThreadNumber>AsyncTask#1](running)
我的问题是为什么是这样的?我的应用程序依赖于AsyncTask,我不能有一个新的线程创建,并在每个任务后保持活着.
谢谢,
图腾
解决方法
我也在敲打我的头,刚才碰到了这个答案(这比答案更多的解释):
CommonsWare解释:
AsyncTask manages a thread pool,created with ThreadPoolExecutor. It will have from 5 to 128 threads. If there are more than 5 threads,those extra threads will stick around for at most 10 seconds before being removed. (note: these figures are for the presently-visible open source code and vary by Android release).
Leave the AsyncTask threads alone,please.