Android(安卓)应用开发技术 Android(安卓)应用开发技术 消息处理类Handler简介.pptx

Android(安卓)应用开发技术 Android(安卓)应用开发技术 消息处理类Handler简介.pptx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习目标 Handler消息处理机制 为什么使用Handler消息处理机制 只有主线程可以修改UI界面 出于性能优化的考虑,Android的UI操作并不是线程安全的,这意味着如果有多个线程并发操作UI,可能导致线程安全问题。为了解决这个问题,Android制定了一条简单规则:只允许UI线程修改Activity的UI组件。 当一个程序第一次启动时,Android会同时启动一条主线程(Main Thread),主线程主要负责处理UI相关事宜,所以主线程又被称为UI线程。 耗时任务不能在UI线程中执行 尽量避免在UI线程中执行耗时操作,因为这样可能导致一个“著名”的异常:ANR异常,因为这会导致Android应用程序无法相应输入事件和Broadcast。 Android默认约定当UI线程超过20秒即会引发ANR异常,但实际上,不要说20秒,即使5秒用户都会感到受不了,因此耗时的操作应当放在其他线程中进行(如:下载文件等)。 其他线程与UI线程的通信,需要使用Handler。 Handler消息处理机制 消息处理(Handler)类 Handler类的主要任务有两个: 在新启动的线程中发送消息(如请求更改UI界面) 在主线程中获取、处理消息 hendleMessage(Message msg) 处理消息的方法,通常重写该方法来处理消息,在发送消息时,该方法自动回调 post(Runnable r) 立即发送Runnable对象,该Runnable对象最后将被封装成Message对象 postAtTime(Runnable r, long updateMillis) 定时发送Runnable对象,该Runnable对象最后将被封装成Message对象 postDelayed(Runnable r, long delayMillis) 延迟发送Runnable对象,该Runnable对象最后将被封装成Message对象 sendEmptyMessage(int what) 发送空消息 sendMessage(Message msg) 立即发送消息 sendMessageAtTime (Message msg, long updateMillis) 定时发送消息 sendMessageDelayed (Message msg, long delayMillis) 延迟发送消息 Handler消息处理机制 消息处理(Handler)类 实际解决流程: 为了让主线程能适时的处理新启动线程所发送的消息,显然只能通过回调的形式来实现——开发者只需重写Handler类中处理消息的方法,当新启动线程发送消息时,消息会发送到与之关联的MessageQueue,而Handler会不断从Message队列中获取并处理消息,使得Handler类中处理消息的方法被回调 知识点小结 通过今天学习: 1. 什么是Handler 2. Handler的常用方法 感谢您的学习

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档