AsyncTask delay延迟执行 或者顺序执行 问题
16lz
2021-12-04
惯用AsyncTask的朋友可能会发现AsyncTask的坑:
Android executesAsyncTask
tasks before Android 1.6 and again as of Android 3.0 in sequence by default.
即:Android从3.0开始,AsyncTask为顺序执行方式。这种顺序方式指的是,所有的使用AsyncTask的类均会在应用中排一个序,按顺序执行!
这就导致有时候发现AsyncTask迟迟得不到执行被莫名其妙得delay了,是因为其他的AsyncTask还没执行完!
是不是很坑爹?
解决方式:
1、换用Thread+handler或者runonuithread的方式。
2、使用AsyncTask中的
You can tell Android to run it in parallel with the usage of theexecuteOnExecutor()
method, specifyingAsyncTask.THREAD_POOL_EXECUTOR
as first parameter.
样例:
// ImageLoader extends AsyncTaskImageLoader imageLoader = new ImageLoader(imageView);// Execute in parallelimageLoader.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, "http://url.com/image.png");
参考:
http://www.vogella.com/articles/AndroidBackgroundProcessing/article.html
http://stackoverflow.com/questions/4068984/running-multiple-asynctasks-at-the-same-time-not-possible
更多相关文章
- Android各类路径获取方式
- [Android] AsyncTask的使用
- Android与服务器通信
- Android/Bluetooth 初始化流程
- Android(安卓)Tab点击监听 自定义事件
- android欢迎界面并执行任务
- Android(安卓)RatingBar案例
- Android(安卓)通信录中的联系人操作
- android页面间传递对象