最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android?APP瘦身shrinkResources使用問題詳解

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

一、背景

對于縮小APk大小,除了開啟混淆

minifyEnabled true

還有使用

shrinkResources true

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

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

二、shrinkResources 作用

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

shrinkResources = true作用是刪除無用的Resource,是與minifyEnabled 一起使用,minifyEnabled =true是開啟混淆。

三、實(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

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

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

<?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"/>

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

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

可以通過gradlew clean assembleRelease - info來獲得APK縮減資源的概覽

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

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

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

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

解決辦法

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

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

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

文末

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

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

相關(guān)文章

  • 解決Android模擬器端口被占用問題的辦法

    解決Android模擬器端口被占用問題的辦法

    這篇文章主要為大家分享了Android模擬器端口被占用問題的解決辦法,遇到Android模擬器端口被占用的時候,真的很頭疼,如何才能解決端口被占用的問題,下文為大家揭曉
    2015-12-12
  • Android編程實(shí)現(xiàn)只顯示圖片一部分的方法

    Android編程實(shí)現(xiàn)只顯示圖片一部分的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)只顯示圖片一部分的方法,涉及Android針對圖片的局部顯示操作技巧,需要的朋友可以參考下
    2016-10-10
  • Android 判斷SIM卡屬于哪個移動運(yùn)營商詳解及實(shí)例

    Android 判斷SIM卡屬于哪個移動運(yùn)營商詳解及實(shí)例

    這篇文章主要介紹了Android 判斷SIM卡屬于哪個移動運(yùn)營商詳解相關(guān)資料,并附實(shí)例代碼,具有一定參考價值,需要的朋友可以參考下
    2016-11-11
  • Android高級xml布局之輸入框EditText設(shè)計

    Android高級xml布局之輸入框EditText設(shè)計

    這篇文章主要為大家詳細(xì)介紹了Android高級xml布局之輸入框EditText設(shè)計,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android通過SOCKET下載文件的方法

    Android通過SOCKET下載文件的方法

    這篇文章主要介紹了Android通過SOCKET下載文件的方法,實(shí)例分析了Android使用Socket進(jìn)行文件傳輸?shù)募记?需要的朋友可以參考下
    2015-12-12
  • 更新Android Studio 3.0碰到的問題小結(jié)

    更新Android Studio 3.0碰到的問題小結(jié)

    本文是小編給大家分享的更新Android Studio 3.0碰到的問題小結(jié),非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-11-11
  • php 異步調(diào)用方法實(shí)現(xiàn)示例

    php 異步調(diào)用方法實(shí)現(xiàn)示例

    客戶端與服務(wù)器端是通過HTTP協(xié)議進(jìn)行連接通訊,客戶端發(fā)起請求,服務(wù)器端接收到請求后執(zhí)行處理,并返回處理結(jié)果
    2014-01-01
  • Android保存Activity狀態(tài)的方法

    Android保存Activity狀態(tài)的方法

    這篇文章主要介紹了Android保存Activity狀態(tài)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android保存Activity狀態(tài)的原理、實(shí)現(xiàn)步驟及相關(guān)注意事項,需要的朋友可以參考下
    2016-08-08
  • Android日期選擇控件使用詳解

    Android日期選擇控件使用詳解

    這篇文章主要為大家詳細(xì)介紹了Android日期選擇控件的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Kotlin基礎(chǔ)學(xué)習(xí)之循環(huán)和異常

    Kotlin基礎(chǔ)學(xué)習(xí)之循環(huán)和異常

    最近在學(xué)習(xí)kotlin,Kotlin 是一個基于 JVM 的新的編程語言,下面這篇文章主要給大家介紹了關(guān)于Kotlin基礎(chǔ)學(xué)習(xí)之循環(huán)和異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12

最新評論

岑溪市| 施秉县| 呼图壁县| 梁山县| 宁明县| 年辖:市辖区| 玉田县| 融水| 北宁市| 九江县| 宿州市| 上高县| 逊克县| 隆德县| 增城市| 苏尼特左旗| 射洪县| 明水县| 自治县| 曲阳县| 资溪县| 东莞市| 广宗县| 平陆县| 五指山市| 边坝县| 大名县| 金乡县| 巴里| 甘南县| 云阳县| 鄂尔多斯市| 九龙县| 廉江市| 汕尾市| 泰和县| 固始县| 定陶县| 招远市| 东平县| 出国|