欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android?APP瘦身shrinkResources使用問(wèn)題詳解

 更新時(shí)間:2022年11月11日 08:39:22   作者:Coolbreeze  
這篇文章主要為大家介紹了Android?APP瘦身shrinkResources使用問(wèn)題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一、背景

對(duì)于縮小APk大小,除了開(kāi)啟混淆

minifyEnabled true

還有使用

shrinkResources true

說(shuō)下這兩者的區(qū)別

  • minifyEnabled 這個(gè)是用來(lái)開(kāi)啟刪除無(wú)用代碼,比如沒(méi)有引用到的代碼
  • shrinkResources 用來(lái)開(kāi)啟刪除無(wú)用資源,也就是沒(méi)有被引用的文件(經(jīng)過(guò)實(shí)測(cè)是drawable,layout,實(shí)際并不是徹底刪除,而是保留文件名,但是沒(méi)有內(nèi)容,等等),但是因?yàn)樾枰朗欠癖灰盟孕枰浜蟤ififyEnable使用,只有當(dāng)兩者都為true的時(shí)候才會(huì)起到真正的刪除無(wú)效代碼和無(wú)引用資源的目的

二、shrinkResources 作用

    android {
        buildTypes {
             debug {
                    minifyEnabled false
                    shrinkResources false
                }
                release {
                    minifyEnabled true
                    shrinkResources true
                }
        }
    }

shrinkResources = true作用是刪除無(wú)用的Resource,是與minifyEnabled 一起使用,minifyEnabled =true是開(kāi)啟混淆。

三、實(shí)站演練

同樣的資源代碼

1.只有minififyEnable false 或者 minififyEnable false && shrinkResources true

APK大小為1.39M

資源文件和layout都存在且是有內(nèi)容的

2.只有minifyEnable true

866K

資源文件和layout都存在且是有內(nèi)容的

3.minifyEnable true && shrinkResources true

資源文件在但是沒(méi)有內(nèi)容大小都變成67字節(jié),layout文件內(nèi)容被清空

4.minifyEnable true && shrinkResources true 在res/raw/keep.xml(避免被誤刪除)寫(xiě)了配置的

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
           tools:keep="@layout/activity_four,@drawable/no_reference_but_keep"/>

沒(méi)有在配置文件中聲明保存的文件沒(méi)有內(nèi)容,聲明保存的文件有內(nèi)容(資源文件和layout文件)

注意:string.xml中沒(méi)有被引用的怎么設(shè)置都不會(huì)被刪除

可以通過(guò)gradlew clean assembleRelease - info來(lái)獲得APK縮減資源的概覽

當(dāng)您壓縮資源時(shí),Gradle Console 會(huì)顯示它從應(yīng)用軟件包中移除的資源的摘要。例如:

:android:shrinkDebugResources
Removed unused resources: Binary resource data reduced from 2570KB to 1711KB: Removed 33%
:android:validateDebugSigning

四、使用shrinkResources 出現(xiàn)的問(wèn)題

android 使用了shrinkResources = true后,有時(shí)候會(huì)出現(xiàn)問(wèn)題。 最近項(xiàng)目集成阿里百川的意見(jiàn)反饋,添加的安全圖片只是做驗(yàn)證,項(xiàng)目里面未引用。debug模式自然是沒(méi)問(wèn)題,因?yàn)閟hrinkResources 設(shè)置的是false,但在release 模式下,當(dāng)shrinkResources = true的時(shí)候,集成的意見(jiàn)反饋出問(wèn)題。

解決辦法

新增res/raw/keep.xml文件,在里面把需要保留的資源文件列舉出

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@drawable/yw_1222"/>

如此問(wèn)題就解決了。如果項(xiàng)目中需要keep多個(gè)資源可以tools:keep="@drawable/a,@layout/b,@layout/c"。意思就是在混淆的時(shí)候這些。

文末

移動(dòng)端產(chǎn)品功能的逐漸增加,apk包會(huì)越來(lái)越臃腫,這里面會(huì)存在大量的情況。,APP 的體積也不可避免地呈現(xiàn)上升趨勢(shì),如果不加以重視,幾個(gè)版本迭代下來(lái),可能你的 APP 體積會(huì)達(dá)到用戶不能忍受的程度。比如冗余的代碼、無(wú)用的資源、未合理化處理的圖片等等。 所以Android APP瘦身是開(kāi)發(fā)者必學(xué)的技術(shù)之一

以上就是Android APP瘦身shrinkResources使用問(wèn)題詳解的詳細(xì)內(nèi)容,更多關(guān)于Android APP瘦身shrinkResources的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android自制九宮格解鎖控件

    Android自制九宮格解鎖控件

    這篇文章主要為大家詳細(xì)介紹了Android自制九宮格解鎖控件的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Android中正確使用字體圖標(biāo)(iconfont)的方法

    Android中正確使用字體圖標(biāo)(iconfont)的方法

    IconFont字體不僅僅流行于Web開(kāi)發(fā),在移動(dòng)開(kāi)發(fā)中也漸漸的使用的范圍更廣泛。這篇文章主要介紹了在Android開(kāi)發(fā)中使用icon font的代碼和方法。對(duì)大家學(xué)習(xí)使用iconfont有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • Android ListView UI組件使用說(shuō)明

    Android ListView UI組件使用說(shuō)明

    這篇文章主要介紹了Android ListView UI組件使用說(shuō)明,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Android實(shí)現(xiàn)圖片高斯模糊

    Android實(shí)現(xiàn)圖片高斯模糊

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)圖片高斯模糊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Android實(shí)現(xiàn)的狀態(tài)欄定制和修改方法

    Android實(shí)現(xiàn)的狀態(tài)欄定制和修改方法

    這篇文章主要介紹了Android實(shí)現(xiàn)的狀態(tài)欄定制和修改方法,涉及Android針對(duì)狀態(tài)欄屬性設(shè)置的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Android仿微信選擇圖片和拍照功能

    Android仿微信選擇圖片和拍照功能

    這篇文章主要為大家詳細(xì)介紹了Android仿微信選擇圖片和拍照功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android實(shí)現(xiàn)水波紋控件的方法

    Android實(shí)現(xiàn)水波紋控件的方法

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)水波紋控件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android滑動(dòng)拼圖驗(yàn)證碼控件使用方法詳解

    Android滑動(dòng)拼圖驗(yàn)證碼控件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Android滑動(dòng)拼圖驗(yàn)證碼控件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Android如何實(shí)現(xiàn)設(shè)備的異顯功能詳解

    Android如何實(shí)現(xiàn)設(shè)備的異顯功能詳解

    這篇文章主要給大家介紹了關(guān)于Android如何實(shí)現(xiàn)設(shè)備的異顯功能的相關(guān)資料,這篇文章通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位Android開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • PopupWindow?RecyclerView實(shí)現(xiàn)下拉選擇Spinner示例解析

    PopupWindow?RecyclerView實(shí)現(xiàn)下拉選擇Spinner示例解析

    這篇文章主要介紹了PopupWindow?RecyclerView實(shí)現(xiàn)下拉選擇Spinner示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07

最新評(píng)論