編輯:關於Android編程
在Android開發中采用動態加載技術,可以達到不安裝新的APK就升級APP功能的目的,可以用來到達快速發版的目的,也可以用來修復一些緊急BUG。
現在使用得比較廣泛的動態加載技術的核心一般都是使用ClassLoader,後者能夠加載程序外部的類(已編譯好的),從而達到升級代碼邏輯的目的。雖然動態加載的核心原理比較簡單,但是根據功能的復雜程度,實際在Android項目中使用的時候還要涉及許多其他方面的知識,這裡分為幾個篇幅分別進行介紹。
內容:
動態加載技術在Android中的使用背景;
Android的動態的加載大致可以分為“加載SO庫”和“加載DEX/JAR/APK”兩種;
動態加載的基礎是類加載器ClassLoader;
使用動態加載的三種模式;
采用動態加載的作用與代價;
除了ClassLoader之外的動態修改代碼的技術(HotFix);
內容:
類加載器ClassLoader的創建過程和加載類的過程;
ClassLoader的雙親代理模式;
DexClassLoader和PathClassLoader之間的區別;
使用ClassLoader加載外部類需要注意的一些問題;
內容:
如何編譯和使用SO庫;
分析Android中加載SO庫相關的源碼;
內容:
如何創建我們需要的dex文件;
如何加載dex文件裡面的類;
內容:
如何啟動插件APK中沒有注冊的Activity
內容:
如何在運行時動態創建一個Activity;
自定義ClassLoader並偷梁換柱替換想要加載的類;
動態創建Activity模式開源項目“android-pluginmgr”
使用“環境注入”的模式;
使用動態加載技術的情形;
使用動態加載方式項目的項目結構調整和開發調試方式;
開源項目“Android-Frontia”,動態加載框架的項目,專注於“插件化”和“宿主與插件之間的通訊”;
廢話不多說了,直接給大家貼代碼了。具體代碼如下所示:<?xml version=1.0 encoding=utf-8?><Relativ
TableLayout就是將手機的屏幕分為一行行的形式進行數據的顯示,並且一行可以多個控件 並且可以設置控件的對齊方式,和是否為可收縮行 下面通過一行圖和一個簡單的例子來
一、 JNI基礎介紹JNI is the Java Native Interface. It defines a way for managed code (writte
1、什麼是protectionlevel呢?我們經常在AndroidManifest中使用權限,如果我們想讓應用程序可以發短信,那麼應該這樣寫: 那麼這個權限