Thread类 1、dispatchUncaughtException()方法应该是在native层触发,这个时候调用了getUncaughtExceptionPreHand...
Thread类 1、dispatchUncaughtException()方法应该是在native层触发,这个时候调用了getUncaughtExceptionPreHand...
1、比HashMap的空间使用上效率更高,类似SparseArray;2、比HashMap的时间复杂度要差,所以适合几百的个元素的存储; 构造方法 mArray是mHashe...
流程 1、我们在创建activity的时候会通过activity的PhoneWindow的WindowManagerIml把DecorView添加进来,这个时候会调用Wind...
入口 在touch事件分发前的处理 touch事件分发 没有分发,调用activity的onTouchEvent() 事件分发 1、我们来到PhoneWindow类,mDec...
参考 https://cloud.tencent.com/developer/article/2053861[https://cloud.tencent.com/develo...
背景 参考https://blog.csdn.net/m0_71263309/article/details/127353275?spm=1001.2101.3001.665...
背景 在前面的文章“安卓系统启动”//www.greatytc.com/p/747bdfe1b055[//www.greatytc.com/p/747bd...
1、进程是操作系统资源分配的最小单元,线程是cpu执行的最小单元,一个进程可以有多个线程,他们是包含关系2、进程是依赖于程序而存在的,程序是它的载体,而且进程是动态的3、进程...
启动服务 1、在ContextImpl.java中 2、来到ActivityManagerService.java中 3、来到ActivityServices.java中 4...
参考 //www.greatytc.com/p/9655501e15ed[//www.greatytc.com/p/9655501e15ed] 典型调用 ...
java代码 setBlocker记录了线程的被哪个对象阻塞,用来给线程监控和分析工具使用 C++代码 1、有两个调用都是在unsafe类(UNSAFE = sun.misc...
hashcode相等值不一定相等,值相等hashcode一定相等 String的hashcode方法重写了 由于哈希码(HashCode)的目的是为了区分对象,所以其分布自然...
典型调用 流程分析 1、在MultiDex类中 MultiDexExtractor.load()将当前apk包拆成若干个子包 2、继续调用loadExistingExtrac...
Choreographer主要作用是协调输入,动画,绘制等任务的执行时机,它从显示子系统定时脉冲(垂直同步),然后安排下一个显示frame的部分工作。 背景 每次Window...
动画类型 帧动画:就是xml文件里面定义的一帧一帧的动画view动画(animation类):就是translate,scale,alpha,rotate属性动画(Objec...
背景 2.0版本相对于1.x版本,全部用的kotlin编写 在application类中,不需要install()方法,监听的是content provider的启动即可 启...
典型调用 arouter的源码:https://github.com/alibaba/ARouter/tree/1.5.0[https://github.com/alibab...
典型调用 1、依赖项 2、依赖 3、初始化 4、加载patch包 调用流程 1、我们从TinkerInstaller.onReceiveUpgradePatch()方法开始 ...
使用范例 okhttp-3.14.4.jar,异步调用 调用流程 1、OkHttpClient构造方法 OkHttpClient类是网络请求通用配置 2、Request构造方...
Surface类 1、类的定义:在Android生态中,无论开发者用什么渲染 API,一切内容都会渲染到 Surface 上 数据:raw buffer生产方:OpenGL、...