国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一篇讀懂 Android 開發(fā)中模塊化、組件化、插件化和熱修復(fù)

這篇具有很好參考價值的文章主要介紹了一篇讀懂 Android 開發(fā)中模塊化、組件化、插件化和熱修復(fù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

一篇讀懂 Android 開發(fā)中模塊化、組件化、插件化和熱修復(fù)

網(wǎng)上關(guān)于 “Android 開發(fā)" 的文章很多,我本人學(xué)習(xí) Android 開發(fā)的過程也借鑒了網(wǎng)上先輩們的文章;但大多數(shù)文章都從底層的細(xì)枝末節(jié)開始講述,由下而上給人一種這門技術(shù)“博大精深”望而生畏的感覺;而我寫這篇文章的初衷就是由上而下,希望別人在閱讀的過程中能夠覺得 “模塊化、組件化、插件化、熱修復(fù)原來是這樣的??!” 的感覺

模塊化

模塊:

  • 最初的目的是將同一類型的代碼整合在一起; 所以模塊的功能相對復(fù)雜,但都同屬于一個業(yè)務(wù);

  • 不同模塊之間也會存在依賴關(guān)系; 但大部分都是業(yè)務(wù)性的互相跳轉(zhuǎn),從地位上來說它們都是平級的

特點:

  • 分屬同一功能/業(yè)務(wù)的代碼進(jìn)行隔離(分裝)成獨立的模塊,可以獨立運行; 以頁面、功能或其他不同粒度劃分程度不同的模塊,位于業(yè)務(wù)框架層,模塊間通過接口調(diào)用,目的是降低模塊間的耦合,由之前的主應(yīng)用與模塊耦合,變?yōu)橹鲬?yīng)用與接口耦合,接口與模塊耦合;

  • 模塊就像有多個USB插口的充電寶,可以和多部手機(jī)充電,接口可以隨意插拔,復(fù)用性很強(qiáng),可以獨立管理; 模塊就像是獨立的功能和項目(如淘寶:注冊、登錄、購物、直播…),可以調(diào)用組件來組成模塊,多個模塊可以組合成業(yè)務(wù)框架

組件化

組件:

  • 最初的目的是代碼重用,功能相對單一或者獨立; 在整個系統(tǒng)的代碼層次上位于最底層,被其他代碼所依賴,所以說組件化是縱向分層

特點:

  • 把重復(fù)的代碼提取出來合并成為一個個組件,組件最重要的就是重用(復(fù)用),位于框架最底層,其他功能都依賴于組件,可供不同功能使用,獨立性強(qiáng)

  • 組件就像一個個小的單位,多個組件可以組合成組件庫,方便調(diào)用和復(fù)用,組件間也可以嵌套,小組件組合成大組件

Android工程的組件一般分為兩種:

application組件: 是指該組件本身就可以運行并打包成apk

lib組件: 是指該組件屬于app的一部分,可以供其它組件使用但是本身不能打包成apk

正常一個App中可以有多個module(模塊),但是一般只會有一個module是設(shè)置為application的,其他均設(shè)置為library; 組件化開發(fā)就是要每個module都可以運行起來,因此在開發(fā)期間每個module均設(shè)置為application,發(fā)布時再進(jìn)行合并。

為什么要有組件化?

Android項目中代碼量達(dá)到一定程度,編譯將是一件非常痛苦的事情; 短則一兩分鐘,長則達(dá)到五六分鐘;隨著app業(yè)務(wù)的壯大,模塊越來越多,代碼量超10萬是很正常的

這個時候我們會遇到以下問題:

  • 稍微改動一個模塊的一點代碼都要編譯整個工程,耗時耗力

  • 公共資源、業(yè)務(wù)、模塊混在一起耦合度太高

  • 不方便測試

組件化開發(fā)的優(yōu)點

組件化開發(fā)可以有效降低代碼模塊的耦合度&#文章來源地址http://www.zghlxwxcb.cn/news/detail-400621.html

到了這里,關(guān)于一篇讀懂 Android 開發(fā)中模塊化、組件化、插件化和熱修復(fù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Android學(xué)習(xí)之路(22) 從模塊化到組件化

    Android學(xué)習(xí)之路(22) 從模塊化到組件化

    Android 應(yīng)用項目 , 都存在一個應(yīng)用模塊 ( Application Module ) , 在 build.gradle 構(gòu)建腳本中 , 第一個插件配置 com.android.application , 表明 該 Module 編譯打包后的輸出是 APK 安裝包 ; 該項目可以直接運行 ; 如果在 build.gradle 配置的是 com.android.library 插件 , 那么 編譯 Module 打包后輸出的是 a

    2024年01月22日
    瀏覽(23)
  • 深入理解JavaScript模塊化開發(fā)

    深入理解JavaScript模塊化開發(fā)

    前言: 隨著JavaScript應(yīng)用程序的復(fù)雜性不斷增加,模塊化開發(fā)成為了一種必備的技術(shù)。通過將代碼劃分為模塊,我們可以提高代碼的可維護(hù)性、可重用性和可擴(kuò)展性。在本文中,我們將深入探討JavaScript模塊化開發(fā)的概念、優(yōu)勢和不同的模塊化方案。 模塊化開發(fā)是將一個大型應(yīng)

    2024年02月08日
    瀏覽(41)
  • Vue的模塊化開發(fā)初探

    Vue的模塊化開發(fā)初探

    Vue是一個漸進(jìn)式JavaScript框架,可以按需引入部分功能,而不必全量引入整個框架。 2.1 下載必須模塊 在瀏覽器輸入: https://unpkg.com/vue@3/dist/vue.esm-browser.js ,右鍵另存為,保存到demo.html文件同級目錄下。 2.2 安裝Live Server插件 在VSCode插件市場搜索Live Server并安裝,如下圖: 2.

    2024年04月10日
    瀏覽(26)
  • 前端基礎(chǔ)(Vue的模塊化開發(fā))

    前端基礎(chǔ)(Vue的模塊化開發(fā))

    ? 前言 :前面學(xué)習(xí)了前端HTML、CSS樣式、JavaScript以及Vue框架的簡單適用,接下來運用前端模塊化編程的思想,繼續(xù)學(xué)習(xí)Vue框架,完成自己項目項目的搭建。 目錄 響應(yīng)式基礎(chǔ) ref?reactive 學(xué)習(xí)成果展示 Vue項目搭建 搭建自己的vue項目 總結(jié)? 關(guān)于ref和reactive,官方解釋如下,另外一

    2024年02月12日
    瀏覽(27)
  • 使用Webpack進(jìn)行模塊化開發(fā)與打包

    Webpack是一個現(xiàn)代化的JavaScript模塊打包工具,它可以將多個模塊打包成一個或多個靜態(tài)資源文件。通過Webpack,我們可以將項目中的各個模塊進(jìn)行模塊化開發(fā),并將它們打包成一個或多個可供瀏覽器加載的靜態(tài)資源文件。 使用Webpack進(jìn)行模塊化開發(fā)與打包有以下幾個優(yōu)勢: 2.1

    2024年02月12日
    瀏覽(57)
  • LabVIEW應(yīng)用開發(fā)——VI模塊化

    LabVIEW應(yīng)用開發(fā)——VI模塊化

    ? ? ? ? 我們在寫C語言的時候,一些模塊化的功能或者多次調(diào)用的功能,我們一般會用一個函數(shù)封裝起來,方便使用并且讓代碼看起來更加的簡潔。這種函數(shù)一般都會包含這幾個概念, 輸入?yún)?shù) 、 輸出參數(shù) 和 返回值 。而LabVIEW的VI就可以當(dāng)作是一個函數(shù), 輸入?yún)?shù) 就是

    2024年02月07日
    瀏覽(28)
  • Python面向?qū)ο缶幊?,實現(xiàn)模塊化開發(fā)

    面向?qū)ο缶幊蹋∣bject Oriented Programming,OOP)是一種編程范式,它將真實世界中的事物抽象成程序中的對象,并通過對象之間的相互作用來完成程序的邏輯。 封裝 (Encapsulation) 封裝是指把數(shù)據(jù)和行為結(jié)合成一個相對獨立的整體,防止程序中其他部分直接訪問或修改這個整體,而

    2024年02月05日
    瀏覽(96)
  • 【Unity】程序集Assembly模塊化開發(fā)

    【Unity】程序集Assembly模塊化開發(fā)

    筆者按:使用Unity版本為2021.3LTS,與其他版本或有異同。請僅做參考 一、簡述。 本文是筆者在學(xué)習(xí)使用Unity引擎的過程中,產(chǎn)學(xué)研的一個筆記。由筆者根據(jù)官方文檔Unity User Manual 2021.3 (LTS)/腳本/Unity 架構(gòu)/腳本編譯/程序集定義相關(guān)部分結(jié)合自身經(jīng)驗所做,有不足之處,還請指正

    2024年02月15日
    瀏覽(92)
  • 第四章認(rèn)識Node.js模塊化開發(fā)

    Node.js系統(tǒng)模塊 續(xù)上一篇文章第三章認(rèn)識Node.js模塊化開發(fā)-CSDN博客,這次繼續(xù)來認(rèn)識和總結(jié)以下node的常用模塊開發(fā) Node.js系統(tǒng)模塊是指Node.js自帶的一些模塊,這些模塊可以直接在Node.js中使用,無需安裝其他包。以下是常用的Node.js系統(tǒng)模塊: fs模塊:用于處理文件系統(tǒng)。 htt

    2024年02月08日
    瀏覽(24)
  • 第三章認(rèn)識Node.js模塊化開發(fā)

    目錄 認(rèn)識Node.js 概述 作用 基本使用 Node.js的運行 Node.js的組成 Node.js的語法 Node.js全局對象 認(rèn)識模塊化開發(fā) 概述 場景 特點 模塊成員的導(dǎo)入和導(dǎo)出 Node.js?模塊化語法 導(dǎo)入模塊 導(dǎo)出模塊 ES6 模塊化語法 導(dǎo)入模塊 導(dǎo)出模塊 項目 認(rèn)識Node.js 概述 Node.js是一個 開源的、跨平臺 的

    2024年02月06日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包