关闭

android 异步操作总结

131人阅读 评论(0) 收藏 举报
分类:

异步操作原因:UI线程不能阻塞,故需要把一些耗时及复杂的操作另起一个线程来处理,为此,android为我们提供了几种方法来处理,常用的为三种:

(1)AsyncTack 

(2)handler+message机制

(3)Activity.runOnUiThread(Runnable)

注:AsuncTack,代码量小,实现较简单,一次执行,不需要UI变更;在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来。

  但是,有时会碰到在非主UI线程更新视图的需要。这个时候我们有两种处理的方式。一种是Handler一种是Activity中的 runOnUiThread(Runnable )方法。对于第一中方法,是采用传递消息的方式,调用Handler中方法来处理消息更新视图。这种方式对于不是很频繁的调用是可取的。如果更新的较快,则消息处理会一直排队处理,这样显示会相对滞后。这个时候就可以考虑使用第二中方式,将需要执行的代码放到Runnable的run方法中,然后调用runOnUiThread()这个方法将Runnable的对象传入即可。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6073次
    • 积分:144
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:18篇
    • 译文:0篇
    • 评论:1条