02_热修复_插件化_dex和class
2020-10-18 本文已影响0人
lww文
热修复可以解决那些问题?
1:线上bug 2:一些新功能推给 用户
插件化可以解决那些问题?
1:解决应用越来越大带来的技术问题 2;解决合作开发问题
插件化的结构改变
========class/dex 文件的详解
什么是class
能够被jvm 识别 加载并执行的文件格式
=====生成class文件
1:idea 自动build
2;手动 javac 执行 生成 javac Test.java
3:java 执行 java Test的信息
=====class 文件 的作用
记住一个类文件的所有信息
=====class 文件结构
1:一种8字节的二进制 流文件
2:各个数据按顺顺序紧密排列 没有空隙
3 每个类或者接口 都占一个class文件
查卡结构可以通过 010editor 工具查看
========class 文件弊端
1内存占用大 不适合移动端
2::栈堆加载模式 加载速度慢
3:文件io查找多 类加载慢
========dex 文件介绍
什么是dex文件?
仅能被dvm 识别 并加载的文件格式
====生成dex文件
1:idea 工具 build 生成
2:使用dx 命令生成 dx --dex --output Test.dex(需要生成的dex文件名) Test.class (被执行的class文件)
3:手动运行dex文件在手机
1:adb push Test.dex /sdcard 将dex文件 推送到 手机
2: 登录到 手机中 adb shell
3; 执行命令 dalvikvm -cp /sdacrd/Test.dex Test
dex 的作用
记录整个工程中所有类文件的信息
=====dex 文件结构
1:一种8字节的二进制 流文件
2:各个数据按顺顺序紧密排列 没有空隙
3 所有的java 文件都在 dex文件中
dex和class的异同
1:本质都一样 dex是是从class 演变的
2:class 有冗余信息 dex 去除冗余 整合