天天看點

安卓學習筆記 6-10 熱更新

今天我研究了一下熱更新

============jvm模型==========

安卓學習筆記 6-10 熱更新

我們類裡面的方法在方法區,方法區有位元組碼和方法表

當我們用代碼new 對象的時候,這個對象會在堆裡開辟空間

然後棧區放了對象的引用,比如 TextView tvTitle;這個tvTitle就是一個TextView的引用

我們做熱更新,就需要在位元組碼和方法表上做手腳

===============開始撸代碼==============

首先我們寫個注解,然後在需要修複的方法上使用這個注解

安卓學習筆記 6-10 熱更新
安卓學習筆記 6-10 熱更新
安卓學習筆記 6-10 熱更新
安卓學習筆記 6-10 熱更新

然後我們通過注解找到class,接着通過class找到method

安卓學習筆記 6-10 熱更新
安卓學習筆記 6-10 熱更新

拿到需要修改的method和修改後的method後,我們在native層替換位元組碼和方法表

安卓學習筆記 6-10 熱更新
安卓學習筆記 6-10 熱更新
安卓學習筆記 6-10 熱更新

================就這樣,今天又過去了...==============

繼續閱讀