Android进阶之路Android开发Android开发经验谈

为进大厂刷爆面试题,最后倒在了基础题上?太苦了!

2020-03-11  本文已影响0人  程序员的Vere

开头有话说

面试不刷题,相当于不穿铠甲上战场,这心里,慌得很!

不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~

而我们很多人,一心刷那个高级面试题上,最后却倒在了基础题上,实在可惜。

今天就给大家带来几道简单的面试题,来测试一下自己有没有大意!

一,view的事件分发机制

dispatchTouchEvent 分发事件

onInterceptTouchEvent 拦截事件只有viewgroup才有,view和activity没

onTouchEvent 处理点击事件

二,Handler原理机制

Handler主要负责发送和接受消息,Looper负责不断轮询MessageQueue,有新的消息就交给Handler处理,如果轮询不到新的消息,那就自身就处于阻塞状态。

Handler简单图解

Handler铁三角

1.Handler android的消息机制就是指Handler机制,Handler机制的运行需要MeeageQueue和Looper的辅助。

λ MessageQueue:消息队列,用于将所有收到的消息以队列的形式进行排列,并提供入队和出队的方法。在looper的构造函数中创建,因此一个Looper也就对应了一个MessageQueue.

通过enqueueMessage实现消息的入队,通过next方法实现出队

2.Looper 轮询器 作用:与当前线程绑定,保证一个线程只会有一个Looper实例,同时一个Looper实例也只有一个- MessageQueue。Looper 通过loop()方法调用messagequeue的next方法,不断从 MessageQueue中去取消息

详解单个handler原理

图解多个handler原理

Handler的创建流程

好了,总结完成,大家可能还会问,那么在Activity中,我们并没有显示的调用Looper.prepare()和Looper.loop()方法,为啥Handler可以成功创建呢,这是因为在Activity的启动代码中,已经在当前UI线程调用了Looper.prepare()和Looper.loop()方法。

三,mvc,mvp,mvvm

三个架构模式:

1,View对Model的依赖,会导致View也包含了业务逻辑;

2,Controller会变得很厚很复杂。

不过第二个缺点依然没有解决。

采用了双向绑定:View的变动,自动反映在ViewModel,反之亦然。

MVC, MVP, MMVM用来解决业务逻辑和视图之间的耦合

Mvc和mvp的最主要区别:

Mvc中model可以直接和view交互

mvp中model 与view 的交互由presenter完成

最后

篇幅有限,就放出来几道题来可以大家测试一下,更多的面试题目,我已经整理好成PDF大全,可以分享给大家。
这份Android学习PDF大全真的包含了方方面面了,内含Java基础知识点、Android基础、Android进阶延伸、算法合集等等


我的这份学习PDF,可以有效的帮助大家掌握知识点。

总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习

关注我看个人介绍,或直接 点击我免费领取

分享不易,不点赞+关注支持一下嘛?


上一篇下一篇

猜你喜欢

热点阅读