Android中AsyncTask的使用场景、使用时的注意事项以及如何关闭
2017-02-10 10:43
495 查看
1.asynctask的使用场景就是需要需要进行一些耗时的操作,耗时操作完成后更新主线程,或者在操作过程中对主线程的UI 进行更新。
2.注意事项:asynctask中维护着一个长度为128的线程池,同时可以执行5个工作线程,还有一个缓冲队列,当线程池中已有128个线程,缓冲队列已满时,如果此时向线程池提交任务,将会抛出ReJectedExcutionException。解决方法就是:由一个控制线程来处理asynctask的调用判断线程是否满了,如果满了则线程睡眠,否则请求asynctask继续处理。
3.如何关闭asynctask:在activity中调用asynctask对象的cancel()方法,在asynctask的后台任务中。随时使用iscanceled()来判断是否已经cancel任务,如果已经cancel则退出任务。
2.注意事项:asynctask中维护着一个长度为128的线程池,同时可以执行5个工作线程,还有一个缓冲队列,当线程池中已有128个线程,缓冲队列已满时,如果此时向线程池提交任务,将会抛出ReJectedExcutionException。解决方法就是:由一个控制线程来处理asynctask的调用判断线程是否满了,如果满了则线程睡眠,否则请求asynctask继续处理。
3.如何关闭asynctask:在activity中调用asynctask对象的cancel()方法,在asynctask的后台任务中。随时使用iscanceled()来判断是否已经cancel任务,如果已经cancel则退出任务。
相关文章推荐
- Android基础 Android AsyncTask使用注意事项以及总结
- android AsyncTask使用注意事项以及总结
- Android使用AsyncTask设置请求超时的注意事项
- 如何混淆android代码以及注意事项
- Qt中如何禁掉所有UI操作以及注意事项(处理各个widget的eventFilter这一层,但是感觉不好,为什么不使用QApplication呢)
- Android中ArrayList的使用注意事项以及效率的比较
- AsyncTask的简单使用以及注意事项
- 如何在MAC环境下(Xcode)使用svn,以及新手在团队使用svn注意事项
- 数据库中的增删改查、以及sql语句在android中的使用注意事项、保存头像到本地方法
- Android 如何使用log4j及注意事项
- Android使用FAAC进行AAC编码详解必看以及注意事项
- LocationManager Android自动定位使用以及注意事项(个人)
- Qt中如何使用样式表QPalette以及相关注意事项
- android:PopupWindow的使用场景和注意事项
- Qt中如何使用样式表QPalette以及相关注意事项
- Qt中如何使用样式表QPalette以及相关注意事项
- (转)Qt中如何使用样式表QPalette以及相关注意事项
- Android数据存储SharedPreferences的使用场景和注意事项
- 如何使用spring @component 以及注意事项
- 如何不用oracle client直接使用plsql远程连接oracle数据库以及需要注意的事项