亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android開(kāi)發(fā)優(yōu)化之Apk瘦身優(yōu)化指南

 更新時(shí)間:2022年05月17日 16:50:32   作者:金大人的夢(mèng)  
隨著業(yè)務(wù)快速發(fā)展,各種業(yè)務(wù)功能上線,版本不斷迭代,apk體積也越來(lái)越大,下面這篇文章主要給大家介紹了關(guān)于Android開(kāi)發(fā)優(yōu)化之Apk瘦身優(yōu)化的相關(guān)資料,需要的朋友可以參考下

了解APK結(jié)構(gòu)

在討論如何縮減應(yīng)用的大小之前,需要了解應(yīng)用APK的結(jié)構(gòu)。APK文件是由一個(gè)Zip壓縮文件組成,其中包含構(gòu)成應(yīng)用的所有文件。其中包括Java類文件、資源文件及已編譯資源的文件。

APK 包含以下目錄:

  • META-INF/ :包含 CERT.SF 和 CERT.RSA 簽名文件,以及 MANIFEST.MF 清單文件。
  • assets/ :包含應(yīng)用的資源;應(yīng)用可以使用 AssetManager 對(duì)象檢索這些資源。
  • res/ :包含未編譯到 resources.arsc 中的資源(圖片、音視頻等)。
  • lib/ :包含特定于處理器軟件層的已編譯代碼。此目錄包含每種平臺(tái)類型的子目錄,如 armeabi 、armeabi-v7a 、 arm64-v8a 、 x86 、 x86_64 和 mips 。

APK 還包含以下文件。在這些文件中,只有 AndroidManifest.xml 是必需的。

  • resources.arsc :包含已編譯的資源。此文件包含 res/values/ 文件夾的所有配置中的 XML 內(nèi)容。打包工具會(huì)提取此 XML 內(nèi)容,將其編譯為二進(jìn)制文件形式,并壓縮內(nèi)容。此內(nèi)容包括語(yǔ)言字符串和樣式,以及未直接包含在 resources.arsc 文件中的內(nèi)容(例如布局文件和圖片)的路徑。
  • classes.dex :包含以 Dalvik/ART 虛擬機(jī)可理解的 DEX 文件格式編譯的類。
  • AndroidManifest.xml :包含核心 Android 清單文件。此文件列出了應(yīng)用的名稱、版本、訪問(wèn)權(quán)限和引用的庫(kù)文件。該文件使用 Android的二進(jìn)制XML文件

Android Size Analyzer

Android Size Analyzer 工具可輕松地發(fā)現(xiàn)和實(shí)施多種縮減應(yīng)用大小的策略。

首先在 Android Studio 中的插件市場(chǎng)下載安裝 Android Size Analyzer 插件。安裝插件后,從菜單欄中依次選擇 Analyze > Analyze App Size,對(duì)當(dāng)前項(xiàng)目運(yùn)行應(yīng)用大小分析。分析了項(xiàng)目后,系統(tǒng)會(huì)顯示一個(gè)工具窗口,其中包含有關(guān)如何縮減應(yīng)用大小的建議。

移除未使用的資源

APK瘦身關(guān)鍵就在一個(gè)字:刪!沒(méi)用的就刪了。

啟用資源縮減 (不打包)

如果在應(yīng)用的 build.gradle 文件中啟用了資源縮減: shrinkResources ,則 Gradle 在打包APK時(shí)可以自動(dòng)忽略未使用資源。 資源縮減只有在與代碼縮減: minifyEnabled 配合使用時(shí)才能發(fā)揮作用。在代碼縮減器移除所有不使用的代碼后,資源縮減器便可確定應(yīng)用仍要使用的資源 。

android { 
    // Other settings 
    buildTypes { 
        release { 
            minifyEnabled true 
            shrinkResources true 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
        } 
    } 
}    

動(dòng)態(tài)庫(kù)打包配置

so文件是由ndk編譯出來(lái)的動(dòng)態(tài)庫(kù),是 c/c++ 寫(xiě)的,所以不是跨平臺(tái)的。ABI 是應(yīng)用程序二進(jìn)制接口簡(jiǎn)稱(Application Binary Interface),定義了二進(jìn)制文件(尤其是.so文件)如何運(yùn)行在相應(yīng)的系統(tǒng)平臺(tái)上,從使用的指令集,內(nèi)存對(duì)齊到可用的系統(tǒng)函數(shù)庫(kù)。在Android 系統(tǒng)中,每一個(gè)CPU架構(gòu)對(duì)應(yīng)一個(gè)ABI,目前支持的有:armeabi-v7a,arm64- v8a,x86,x86_64。目前市面上手機(jī)設(shè)備基本上都是arm架構(gòu), armeabi-v7a 幾乎能兼容所有設(shè)備。因此可以配置:

android{ 
    defaultConfig{ 
        ndk{
            abiFilters "armeabi-v7a" 
        } 
    }
 }

對(duì)于第三方服務(wù),如百度地圖、Bugly等會(huì)提供全平臺(tái)的cpu架構(gòu)。進(jìn)行了上面的配置之后,表示只會(huì)把a(bǔ)rmeabi-v7a打包進(jìn)入Apk。從而減少APK大小。

總結(jié)

到此這篇關(guān)于Android開(kāi)發(fā)優(yōu)化之Apk瘦身優(yōu)化指南的文章就介紹到這了,更多相關(guān)Android Apk瘦身優(yōu)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android中的Activity生命周期總結(jié)

    Android中的Activity生命周期總結(jié)

    這篇文章主要介紹了Android中的Activity生命周期總結(jié),本文講解了Activity四大基本狀態(tài)、Activity七大生命周期函數(shù)、切換橫豎屏觸發(fā)的生命周期事件等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Android流式布局FlowLayout詳解

    Android流式布局FlowLayout詳解

    這篇文章主要為大家詳細(xì)介紹了Android流式布局FlowLayout的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android開(kāi)發(fā)之登錄驗(yàn)證實(shí)例教程

    Android開(kāi)發(fā)之登錄驗(yàn)證實(shí)例教程

    這篇文章主要介紹了Android開(kāi)發(fā)之登錄驗(yàn)證實(shí)現(xiàn)方法,包括發(fā)送數(shù)據(jù)、服務(wù)器端驗(yàn)證、配置文件等,需要的朋友可以參考下
    2014-08-08
  • Android EditText實(shí)現(xiàn)關(guān)鍵詞批量搜索示例

    Android EditText實(shí)現(xiàn)關(guān)鍵詞批量搜索示例

    本篇文章主要介紹了Android EditText實(shí)現(xiàn)關(guān)鍵詞批量搜索示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Android以對(duì)話框形式制作數(shù)字軟鍵盤(pán)示例

    Android以對(duì)話框形式制作數(shù)字軟鍵盤(pán)示例

    大家好,本篇文章主要講的是Android以對(duì)話框形式制作數(shù)字軟鍵盤(pán)示例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 詳解Android中ListView實(shí)現(xiàn)圖文并列并且自定義分割線(完善仿微信APP)

    詳解Android中ListView實(shí)現(xiàn)圖文并列并且自定義分割線(完善仿微信APP)

    本篇文章主要介紹了Android中ListView實(shí)現(xiàn)圖文并列并且自定義分割線(完善仿微信APP),具有一定的參考價(jià)值,有興趣的可以了解一下。
    2016-12-12
  • Android WebView 優(yōu)化之路

    Android WebView 優(yōu)化之路

    Android WebView 優(yōu)化之路,如何才能更有效的對(duì)Android WebView進(jìn)行優(yōu)化,本文將為大家一一舉例,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 淺談Android View繪制三大流程探索及常見(jiàn)問(wèn)題

    淺談Android View繪制三大流程探索及常見(jiàn)問(wèn)題

    下面小編就為大家?guī)?lái)一篇淺談Android View繪制三大流程探索及常見(jiàn)問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Android使用TouchDelegate增加View的觸摸范圍

    Android使用TouchDelegate增加View的觸摸范圍

    這篇文章主要為大家詳細(xì)介紹了Android使用TouchDelegate增加View的觸摸范圍,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Android實(shí)現(xiàn)自定義曲線圖

    Android實(shí)現(xiàn)自定義曲線圖

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)自定義曲線圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評(píng)論