在android中实现异步任务机制的方式有两种:AsyncTask和Handler.
1>Handler
Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,用于完成界面的更新.
使用的优点:
1)结构清晰,功能定义明确;
2)对于多个后台任务时,简单,清晰.
使用的缺点:
1)在处理单个后台任务时,代码过多,结构复杂(相对于AsyncTask),
2>AsyncTask
AsyncTask是android提供的轻量级异步类.可以继承AsyncTask,在类中直接实现异步操作.并提供接口反馈当前异步操作的程度(可以通过接口实现UI的更新).最后将结果反馈给UI线程.
使用的优点
1)简单,快捷
2)进程可控
使用的缺点
1)在使用多个异步操作和UI更新时,就变得复杂起来.
在使用AsyncTask时,最少要重写以下两个方法:
doInBackground(params...);
后台执行,比较耗时的操作一般都放在这里执行.注意这里不能直接操作UI,
onPostExecute(result);
相当于Handler处理UI的方式,,在这里可以使用doInBackground()获得的结果来处理操作UI,该方法在主线程执行,任务的执行结果作为该方法的参数返回.
點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦