Android培训之UI线程—离开返回的无缝衔接

2016-02-19 15:31:37 444浏览

        作为Android开发者,我们都知道保持uI响应灵敏的重要性.因此开发者把类似I/0操作这样的耗时任务放在后台线程中执行:当后台线程执行完毕后,经常需要更新UI:Android可能与读者熟知的其他uI系统非常相似,并不是线程安全的:在修改任何ImageView之前,必须返回到应用程序主线程中,试图在主线程之外修改uI会导致异常。

        初始实现代码使用的是AsyncTask的onPostExecute()方法:因为我们使用Executor代替AsyncTask,因此需要为宿主Activity准备一个Runnable对象:我们会用到Activity的runonu汀hread()方法,该方法会使用Handler在后台将我们的工作添加到u1的消息队列中:

         Android培训切换到uI线程是需要考虑的读者必须注意下述几个方面:

        口如果用户滚动ListView,ImageView的实例有可能被回收

        口宿主Activity有可能在任务完成前已经被销毁

        因此,用于处理图片的Runnable的每一步都需要检查是否应该停止处理图片二如果宿主Activity使用ImageWorker的setExit.TasksEarly()方法设置一个标记(flag),就可以检查到停止状态.该方法需要在onPause()方法中调用。此外,如果FutureTask的cancel()方法被调用,也可以检查到停止状态。


 查看更多关于“Android培训资讯”的相关文章>>

标签:

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号