在一个应用程序上工作时,我注意到线程数一直在增长
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.
原文地址:https://www.jb51.cc/android/312938.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。