【Android 插件化】插件化简介 ( 组件化与插件化 )
Android 插件化系列文章目錄
【Android 插件化】插件化簡介 ( 組件化與插件化 )
【Android 插件化】插件化原理 ( JVM 內存數據 | 類加載流程 )
【Android 插件化】插件化原理 ( 類加載器 )
【Android 插件化】“ 插樁式 “ 插件化框架 ( 原理與實現思路 )
【Android 插件化】“ 插樁式 “ 插件化框架 ( 類加載器創建 | 資源加載 )
【Android 插件化】“ 插樁式 “ 插件化框架 ( 注入上下文的使用 )
【Android 插件化】“ 插樁式 “ 插件化框架 ( 獲取插件入口 Activity 組件 | 加載插件 Resources 資源 )
【Android 插件化】“ 插樁式 “ 插件化框架 ( 運行應用 | 代碼整理 )
文章目錄
- Android 插件化系列文章目錄
- 一、組件化與插件化
- 二、插件化示例
- 三、插件化標準引入
一、組件化與插件化
組件化 是將應用分成若干 Module 模塊 , 每個模塊稱為一個組件 ;
組件化 項目中 , 分為兩種模式 , " 集成模式 " 和 " 組件模式 " ;
在開發過程中的 " 組件模式 " 下這些組件可以 獨立運行 , 在 " 集成模式 " 下 , 這些組件 相互依賴拼裝成一個 APK 安裝包 ;
組件化開發的弊端 :
多個模塊必須是并發開發 , 模塊之間相互依賴 , 如果修改了一個模塊 , 那就必須重新打包 ;
插件化開發 , 解決了上述問題 ;
插件化 將應用拆分成若干模塊 , 其中有 111 個 " 宿主 " 模塊 , 若干 " 插件 " 模塊 ;
最終打包時 , 將 " 宿主 " 模塊 和 " 插件 " 模塊 分開進行打包 ;
" 宿主 " 模塊 和 " 插件 " 模塊 都各自是一個單獨 apk 安裝文件 ;
插件化 中 , " 宿主 " 模塊 和 " 插件 " 模塊 可以分開進行編譯 , 二者之間互不影響 , 各個模塊可以并發進行開發 , " 宿主 " 模塊 可以 動態更新插件 ,
二、插件化示例
如像 支付寶 等類似的特大型應用 , 內部提供了幾百個小的應用模塊 , 不可能在開發時就將其集成進去 , 這些軟件的本體只有 100 MB 左右 , 不可能將所有的應用都納入進去 ;
分辨原生組件與 Web 組件 : 在大型應用中 , 有些應用是使用 WebView 嵌入前端小程序 , 有些是遠程組件 , 在 " 開發者選項 " 中 , 打開 " 顯示布局邊界 " 選項 , 如果是 WebView 就只有一個框 , 如果是原生組件 , 對應的 TextView , ImageView 等都有各自的邊界 , 借助布局邊界顯示可分辨出該第三方小程序是 前端 WebView 界面還是原生應用 ;
打開 " 顯示布局邊界 " 選項 :
支付寶主界面效果 : 主界面是原生界面 ;
餓了么界面時 WebView 界面 , 主要內容是 前端小程序 開發的 ;
財富管理模塊的股票模塊 , 是原生應用 ;
支付寶的主體框架是 Android 原生應用 , 其中的第三方功能 , 小程序 , 基本都是 Web 前端頁面 ;
目前這類應用的開發趨勢是使用 Web 應用 替換 原生應用 ;
股票模塊這類 原生應用 , 一般不會在支付寶開發時 , 打包在其中 , 而是通過 插件化 機制 , 動態部署其插件 apk ;
這類軟件第一次打開時 , 需要下載該模塊的 插件 apk , 并安裝 , 此時會卡頓以下 , 之后可以流暢訪問 ;
三、插件化標準引入
插件化 中 , " 宿主 " 模塊 和 " 插件 " 模塊 可以分開進行編譯 , 二者之間互不影響 , 各個模塊可以并發進行開發 , " 宿主 " 模塊 可以 動態更新插件 ;
" 宿主 " 模塊是當前運行的應用 , " 插件 " 模塊是下載的插件模塊編譯后打包的 apk 文件 ;
在不安裝 插件 apk 的情況下 , 調用該 插件中的功能 , 如 Activity , Service , 代碼邏輯等 ;
不是任意 apk 文件都可以接入到 " 宿主 " 插件中 , 要接入的 apk 必須符合一定的標準 ;
在 apk 插件沒有安裝 , 因此不存在上下文 , 調用插件中的 Activity 界面時 , 需要將上下文傳給插件的 Activity ,
總結
以上是生活随笔為你收集整理的【Android 插件化】插件化简介 ( 组件化与插件化 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android FFMPEG 开发】A
- 下一篇: 【Android 插件化】插件化原理 (