您的位置:首页 > 移动开发 > Android开发

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则退出任务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息