亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Android熱修復

標簽:
Android

Android类加载机制

1、DexClassLoader可以加载jar/apk/dex,可以从SD卡中加载未安装的apk 
2、PathClassLoader只能加载系统中已经安装过的apk

热修复机制的原理

有一个dexElement数组,里面放的是dex文件,dexElement会在基类的baseClassLoader中创造好,我们会通过classLoader不断的遍历这个数组,加载这个数组中的dex文件,这样baseclassLoader

如果加载到一个正确的类以后,就不会去加载那个有crash的类,我们把正确的类放在dex文件当中,

并把这个dex文件放到dexElement数组的最前面,等它通过DexclassLoader类加载器去加载这个类的时候,就不会去加载处于dexElement后面的那个dex文件,这个就是热修复的过程。

或是说

在classLoader中创建dexElement这样一个dex文件的数组,然后根据线上的crash日志定位去找到

对应的那个crash类文件,修改这个类后然后把这个类文件打包出来一个dex文件,放到dexElement数组的最前方,classLoader在遍历这个数组的时候就不会去加载有问题的线上crash的那个dex文件,而

只会去加载那个修复完crash的dex文件

https://www.jianshu.com/p/7e30ba5cb9ea详细介绍了这个过程

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
6509
獲贊與收藏
303

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消