Android设计思想解读开源框架,Android设计思想解读开源框架.pdf

设计思想解读开源框架

目录

第一章、 热修复设计 2

第一节、 AOT/JIT & dexopt 与 dex2oat2

第二节、 热修复设计之CLASS_ISPREVERIFIED 问题12

第三节、热修复设计之热修复原理27

第四节、Tinker 的集成与使用 (自动补丁包生成)33

第二章、 插件化框架设计 78

第一节、 Class文件与Dex文件的结构解读78

第二节、 Android 资源加载机制详解85

第三节、 四大组件调用原理98

第四节、 so 文件加载机制123

第五节、 Android系统服务实现原理158

第三章、 组件化框架设计 179

第一节、阿里巴巴开源路由框——ARouter原理分析179

第二节、APT编译时期自动生成代码&动态类加载195

第三节、 Java SPI机制220

第四节、 AOP&IOC235

第五节、 手写组件化架构255

第四章、图片加载框架 290

4.1 图片加载框架选型290

4.2 Glide原理分析386

4.3 手写图片加载框架实战664

第五章、网络访问框架设计 664

5.1 网络通信必备基础664

5.2 OkHttp源码解读698

5.3 Retrofit 源码解析751

第六章、 RXJava响应式编程框架设计 784

6.1 链式调用785

6.2 扩展的观察者模式791

6.3 事件变换设计800

6.4 Scheduler 线程控制814

第七章、 IOC架构设计 819

7.1 依赖注入与控制反转819

7.2 ButterKnife原理上篇、中篇、下篇822

7.3 Dagger 架构设计核心解密897

第八章、 Android架构组件Jetpack 916

8.1 LiveData 原理916

8.2 Navigation如何解决tabLayout 问题925

8.3 ViewModel 如何感知View 生命周期及内核原理925

8.4 Room架构方式方法944

8.5 dataBinding 为什么能够支持MVVM956

8.6 WorkManager 内核揭秘987

8.7 Lifecycles 生命周期999

第一章、热修复设计

第一节、AOT/JIT & dexopt 与 dex2oat

一、AOT/JIT

一个程序的编译过程可以是步骤迭代式的,即每一轮步骤结束后得到的结果都可

独立运行,比如,先构造AST 再输出字节码,中间状态AST 也是可以解释执行

的。由于编译的本质就是代码转换,因此对一个语言可以有多个独立的编译器,

每个负责一轮步骤

AOT Compiler和JIT Compiler 就是针对编译形式做的分类:

AOT:Ahead Of Time,指在运行前编译,比如普通的静态编译

JIT:Just InTime,指在运行时编译,边运行边编译,比如java 虚拟机在运行时

就用到JIT 技术

JIT 可能知道的人多些,AOT 这个名词就相对少见一些了,其实除了JIT,剩下的

都是AOT。wiki 上JIT 的解释也比AOT 详尽很多,如果按wiki 上的理解,一般

来说,是从形式上来区分这两个概念,即看编译是不是在“运行时”进行

然而,这两个概念又有模糊性,问题在于这个“运行时”怎么来区分,比方说,从

这个概念来看,python是用到JIT 技术的,因为:

... import a ...

当执行到import a 的时候,当然是运行时,这时候如果只找到了a.py,则会进

行编译工作,并生成a.pyc,这就是python 的JIT 特性,但是一般来说,认为

python 的JIT 是psyco、pypy 之类,并不认为python本身的动态性属于JIT 范

畴,或者说,它的这种“形式上”的JIT 特性不纳入讨论范围。其他脚本语言,动

态语言也

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值