指尖疯Android4.4视频第22集异步处理与消息机制.pdf

指尖疯Android4.4视频第22集异步处理与消息机制.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指尖疯Android4.4视频第22集异步处理与消息机制.pdf

指尖疯ANDROID实战 第22集:异步处理与消息机制 目录 异步处理需要解决什么 1 2 AsyncTask回调方法 3 Handler、Looper的消息机制 异步处理需要解决的问题  APP存在耗时较长操作的需要 ,比如链接到远程服务器下载一个较大的文件,此时程序如何实现? 直接在主线程实 现(OnCreate) ?  此过程将阻塞主(UI )线程,超过20秒将引起Application Not Responding异常 新创建线程,在  只有主线程(UI线程)能够对UI组件进行操作,如果在非UI线程直接对UI进行操作 ,则会报错: 新线程中实现? AsyncTask回调方法 抽象类AsyncTask适用于简单的、轻量级的异步处理,辅助后台线程和UI线程的交互 AsyncTask的背后实现为线程池机制 后台线程生命周期的5个状态(对应于AsyncTask提供的五个回调方法) 正在 完成 准备运行 进度更新 取消任务 后台运行 后台任务 onPreExecute() doInBackground onProgressUpd onPostExecute( onCancelled () 任务执行之立 (Params...) ate(Progress...) Result) 调用AsyncTask 由UI线程调用 后台线程调用 UI线程调用 后台计算结束 的cancel()方法 执行耗时计算 进度(条)展示 后UI线程调用 时调用 AsyncTask泛型参数 AsyncTaskParams, Progress, Result的泛型类型参数如下 ① Params :传递给后台任务的参数类型 ② Progress :后台计算执行过程中,进步单位(progress units )的类型。(就是后台程序已完成百分比) ③ Result :后台执行返回的结果的类型 AsyncTask并不总是需要使用上面的全部3种类型。标识不使用的类型很简单,只需要使用Void类型即可 Handler、Looper的消息机制  Message :包含了消息ID、数据等,由MessageQueue管理  Handler :负责Message的发送及处理  MessageQueue :存放Handler发送的消息,用于Loope的抽取,按照FIFO规则执行  Looper :不断从MessageQueue中抽取Message  Thread :线程,负责调度整个消息循环 消息循环步骤 为线程建立消息循环的四个步骤 初始化Looper 绑定handler 定义消息处理方法 启动消息循环 1/ 2/ 3/ 4/ Looper.prepare() new Handler() Override p

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档