今天还在面试,清明小假期期间也没有玩。7号准备了一天,把Android的消息机制源码看了下,今天就有面试官问,算是万幸吧。
1 时间:13:35
地点:首体南路
面试问题:1 handle的源码
2 view的事件
3 SparseArray和HashMap的区别
参考:https://www.jianshu.com/p/7b9a1b386265
虽说SparseArray性能比较好,但是由于其添加、查找、删除数据都需要先进行一次二分查找,所以在数据量大的情况下消耗的时间比较多,但是内存开销确实少
满足下面两个条件我们可以使用SparseArray代替HashMap:
- 数据量不大,最好在千级以内
- key必须为int类型,这中情况下的HashMap可以用SparseArray代替:
HashMap<Integer, Object> map = new HashMap<>();
用SparseArray代替:
SparseArray<Object> array = new SparseArray<>();
4 本地广播和普通广播的区别
5 view.post()的源码
6 动态获取权限,
7 线程的各种状态