惯用AsyncTask的朋友可能会发现AsyncTask的坑:

Android executesAsyncTasktasks 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_EXECUTORas 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



更多相关文章

  1. Android各类路径获取方式
  2. [Android] AsyncTask的使用
  3. Android与服务器通信
  4. Android/Bluetooth 初始化流程
  5. Android(安卓)Tab点击监听 自定义事件
  6. android欢迎界面并执行任务
  7. Android(安卓)RatingBar案例
  8. Android(安卓)通信录中的联系人操作
  9. android页面间传递对象

随机推荐

  1. Android(安卓)Studio编译报错:sdk:minSdkV
  2. android点滴(11) -- Android常用命令
  3. Android(安卓)使用WebView
  4. Android(安卓)SDK目录结构和工具介绍
  5. Android ListView 事件监听 || 关于List
  6. Android(安卓)桌面组件widget
  7. 谷歌开发工具Android(安卓)Studio安装使
  8. 【Android】 使用ADT16出现ImageView War
  9. (Android(安卓)jni) error: base operand o
  10. Android事件分发-总结