3. 应用eventbus进行通信,这种办法及时性高,并且Activity与Fragment之间可以完全解耦。
- //Activity中的代码
- EventBus.getDefault().post("消息");
- //Fragment中的代码
- EventBus.getDefault().register(this);
- @Subscribe
- public void test(String text) {
- tv_test.setText(text);
- }
ANR
5、Service
Service分为两种:
- 本地办事,属于同一个应用法度榜样,经由过程startService来启动或者经由过程bindService来绑定并且获代替劳对象。如不雅只是想开个办事在后台运行的话,直接startService即可,如不雅须要互相之间进行传值或者操作的话,就应当经由过程bindService。
- 长途办事(不合应用法度榜样之间),经由过程bindService来绑定并且获代替劳对象。
Android的视图树
- context.startService() ->onCreate()- >onStartCommand()->Service running--调用context.stopService() ->onDestroy()
- context.bindService()->onCreate()->onBind()->Service running--调用>onUnbind() -> onDestroy()

留意
Service默认是运行在main线程的,是以Service中如不雅须要履行耗时操作(大年夜文件的操作,数据库的拷贝,收集请求,文件下载等)的话应当在子线程中完成。
!间谍作况是:Service在清单文件中指定了在其他过程中运行。
如上图所示,我们可以把全部消息机制看作是一条流水线。个中:
- MessageQueue是传送带,负责Message队列的传送与治理
- Looper是流水线的发念头,赓续地把消息大年夜消息队列琅绫擎掏出来,交给Handler来处理
- Message是每一件产品
- Handler就是工人。然则这么比方不太恰当,因为发送以及最终处理Message的都是Handler
6、Android中的消息传递机制
为什么要应用Handler?
因为屏幕的刷新频率是60Hz,大年夜概16毫秒会刷新一次,所认为了包管UI的流畅性,耗时操作须要在子线程中处理,子线程不克不及直接对UI进行更新操作。是以须要Handler在子线程发消息给主线程来更新UI。
这里再深刻一点,Android中的UI控件不是线程安然的,是以在多线程并发拜访UI的时刻会导致UI控件处于弗成预期的状况。Google不经由过程锁的机制来处理这个问题是因为:
- 惹人锁会导致UI的操作变得复杂
- 惹人锁会导致UI的运行效力降低
是以,Google的工程师最后是经由过程单线程的模型来操作UI,开辟者只须要经由过程Handler在不合线程之间切花就可以了。
概述一下Android中的消息机制?
Android中的消息机制主如果指Handler的运行机制。Handler是进行线程切换的关键,在主线程和子线程之间切换只是一种比较特别的应用情景罢了。个中消息传递机制须要懂得的器械有Message、Handler、Looper、Looper琅绫擎的MessageQueue对象。

为什么在子线程中创建Handler会抛异常?
Handler的工作是依附于Looper的,而Looper(与消息队列)又是属于某一个线程(ThreadLocal是线程内部的数据存储类,经由过程它可以在指定线程中存储数据,其他线程则无法获取到),其他线程不克不及拜访。是以Handler就是借居跟线程是绑定在一路了。是以要应用Handler必须要包管Handler所创建的线程中有Looper对象并且启动轮回。因为子线程中默认是没有Looper的,所以会报错。
精确的应用办法是:
- handler = null;
- new Thread(new Runnable() {
- private Looper mLooper;
- @Override
- public void run() {
- //必须调用Looper的
推荐阅读
Github年度报告盘点:TensorFlow无疑是最大赢家!
开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 以前十年,Github所有开辟者共享2500万公共仓库的代码,用户遍布200多个国度,应用人数达到了2400万,有6700万Repo,新增了10亿提>>>详细阅读
本文标题:Android面试17个知识点总结宝典
地址:http://www.17bianji.com/lsqh/39609.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示