随笔分类 -  Android 面试系列

Android事件分发机制面试题
摘要:https://www.jianshu.com/p/555ffeb64e68 总结 1. 为什么会有事件分发机制 安卓上面的View是树形结构的,View可能会重叠在一起,当点击的地方有多个View可以响应的时候,这个点击事件应该给谁呢?为了解决这个问题,就有了事件分发机制。 PhoneWindow 阅读全文
posted @ 2020-06-12 11:11 青年程序猿 阅读(3121) 评论(0) 推荐(0)
强引用、软引用、弱引用、虚引用有什么区别?
摘要:强引用 我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决 阅读全文
posted @ 2020-06-12 11:10 青年程序猿 阅读(673) 评论(0) 推荐(0)
APK安装过程
摘要:Android的应用安装涉及到如下几个目录 /data/app:存房用户安装apk的目录,安装时,把apk拷贝到这里 /data/data:应用安装完成后,在/data/data目录下自动生成和APK包名相同的文件夹,用户存放应用程序的数据 /data/dalivk-cache:存放apk的odex 阅读全文
posted @ 2020-06-11 15:32 青年程序猿 阅读(956) 评论(0) 推荐(0)
View的绘制流程
摘要:View绘制中主要流程分为 measure layout draw 三个阶段 measuer:根据父View船体的MeasureSpec进行计算大小 layout:根据measure 子View 所得的布局大小和布局参数,确定Veiw的位置 draw:把view对象绘制到屏幕上 那么发起绘制的入口在 阅读全文
posted @ 2020-06-10 17:23 青年程序猿 阅读(697) 评论(0) 推荐(0)
HandlerThread实现原理
摘要:HandlerThread继承于Thread类,所以是一个线程类,它存在的价值是什么呢? 答案就是,HandlerThread可以创建一个自带Looper的线程,自动处理Looper创建时的同步问题 public class HandlerThread extends Thread { @Overr 阅读全文
posted @ 2020-04-26 14:40 青年程序猿 阅读(454) 评论(0) 推荐(0)
Handler 如何实现定时发送消息的 handler sent 和post的区别
摘要:Handler 常用的方法 Handler.postDelayed(Runnable r, long delayMillis) Handler.sendMessageDelayed(getPostMessage(r), delayMillis) Handler.sendMessageAtTime(m 阅读全文
posted @ 2020-04-24 15:34 青年程序猿 阅读(1190) 评论(0) 推荐(0)
Android 内存泄漏总结
摘要:https://blog.csdn.net/jiankeufo/article/details/77978048 阅读全文
posted @ 2020-04-23 17:25 青年程序猿 阅读(160) 评论(0) 推荐(0)
Handler实现机制,同步屏障,IdleHandler
摘要:handler 通过sentMessage 发送到 MessageQueue中,通过Looper的处理(可以通过Looper.myQueue()得到当前线程的消息队列) 一个for 循环 ,循环从MessageQueue中拿消息进行处理 public static void loop() { fin 阅读全文
posted @ 2020-04-23 16:47 青年程序猿 阅读(864) 评论(0) 推荐(0)