Java层 1.Looper构建了消息队列MessageQueue2.Message的成员target关联Handler3.Handler的成员mQueue关联Message...
事件分发分捕获和执行两个阶段 事件传递,即捕获,就是执行dispatchTouchEvent()方法,再执行onInterceptTouchEvent()方法。事件处理就是执...
动画分类 补间动画 旋转、位移、透明度、缩放 属性动画 同样的属性动画也可以做到对View进行缩放、移动、旋转以及改变透明度;除此以外,它还能改变对象的某个属性。Object...
View 和 SurfaceView 的区别 View 主要适用于主动更新的情况下,而 SurfaceView 主要适用于被动更新,例如频繁地刷新。View 在主线程中对画面...
Window 1、创建PhoneWindow2、设置Window的callback,用户的触摸 & 键盘等输入事件就是通过此接口回调到 Activity 中的,Window#...
SurfaceFlinger服务是在System进程中启动的,并且负责统一管理设备的帧缓冲区。SurfaceFlinger服务在启动的过程中,会创建两个线程,其中一个线程用来...
他是控制应用进程绘制时机的,会在收到Vsync信号后调用应用进程的刷新 Choreographer创建,他是跟ViewRootImpl一起创建的(在ViewRootImpl的...
View的显示 Activity在启动的时候会调用到handleResumeActivity() 这里会调用到makeVisible Window、WindowManager...
1、无论是要隐式启动还是显示启动最后调用到的都是startActivityForResult(),最后调用AMS的startActivity()2、PMS检测要启动的Acti...
context数 = Activity数+Service数+Application数 一、Context作用 如果Activity不继承自Context它将只是一个普通的对象...
Android没有单独的启动应用进程,而是在启动四大组件的时候校验是否启动进程,如果没有启动进程那么AMS会通过socket通信请求zygote进程去fork应用进程 一、创...
手机启动后首先启动进程init(用户空间第一个进程),init进程读取init.rc文件启动相应进程,system_manager(这是init进程启动的第一个进程)、sur...
Apk解压后的文件结构 这里主要关注未签名和签名的apk的区别未签名的apk是没有MEAT-INF文件夹的,只有签名的apk才有这个文件夹。分别来看一下这个文件夹下的文件的含...