Android异步机制与消息传递的学习笔记
什么是异步?异步就是不同步,同步是什么?同步比如排队上厕所,前面的没执行完,后边的就别想执行,不执行怎么办,快憋死了(窗体假死了),哈哈哈.
异步是什么,异步好比发短信,短信发出去了,我就不管了,至于你收没收到看没看到反应如何,我不需要等待,我只是发完短信然后干别的事了,不阻塞.
很多程序都是单线程,事件顺序执行,因为事件或者交互每次的处理时间很短,不会给用户造成阻塞或者反应迟钝的错觉,比如点击了一下按钮,都是很短的时间.
但是有些处理是比较耗时的,比如我打开了一个app,app去检测服务器有没有新版本,这时我应该是继续在操作的.写过网络检测的盆友都知道,检测新版本之前首先检测网络是否连通,而检测网络状况就是一个比较耗时的操作,不能让用户等待,所以多数程序选择在夜(后)里(台)悄悄的检测版本更新,下载新版本,下次运行app的时候提示安装新版本,我想这大概就是异步了吧.
我要做什么:
模拟一个耗时操作并且用户可以继续与当前的UI产生交互.
我到底要做什么:
我有一个ProgressBar,它正在运行,我来继续操作UI(或者程序继续操作)
再明确一点:
ProgressBar进度在增长,另有TextView值变化,两个互不影响.
涉及到的Android对象:
1. Handler
2. Message
3. Runnable