![240](https://cdn2.jianshu.io/assets/default_avatar/4-3397163ecdb3855a0a4139c34a695885.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
灵魂拷问 为什么我们需要泛型? 1, 编译时进行类型检查2,消除类型转换,不需要强转3,可以复用函数,实现通用的算法 泛型类,泛型接口和泛型方法...
基于 sdk28 应用进程 Activity.java Instrumentation.java 系统进程 ActivityManagerSer...
应用启动的完成流程 上图可见,我们的应用在正式启动,展示在我们用户眼前,还需要一系列的工作,这些工作若是耗时时间较长,那么用户就会看到空白的(或...
关键字 var:声明的变量,可读可写。val:声明的变量,可读不可写,相当于 java中的 finalfun:声明方法。unit:相当于 voi...
程序中的消息通信有哪些? Binder:进程间通信方式,采用内存映射机制,达到一次Copy即可进行进程间的数据交换。AIDL,Intent,Me...
前言 在并发编程的场景下,多条线程同时访问同一个变量数据,可能会造成不可预期的结果,原因是,变量非线程安全。 定义使用 ThreadLocal:...
IPB帧的概念: I 帧:关键帧,一张完整的图像进过压缩后的产物,可以单独解码展示。P帧:前向预测编码帧,记录着与前面一帧的差别数据,解码时,需...
注解的定义 Annotation JDK 1.5 开始引入的新技术,对 package,class,method,field 做出一些注释,并且...
使用:(参考git地址:https://github.com/guozhengXia/OkHttpUtils[https://github.co...