APK fogyókúrás lépések az Android fejlesztésében - Programozó keresett

Találjon módot az apk méretének csökkentésére

szükségesség

Ugyanaz a funkció, minél kisebb az apk, annál jobb, és a felhasználó nagyobb motivációjú a letöltésre

Értse meg az apk összetételét

  • class.dex: java bytecode fájl, amelyet a java forráskód fordítása után hoztak létre
  • resources.arsc: lefordított elrendezési fájl
  • AndroidManifest.xml
  • eszközök: A könyvtár néhány konfigurációs fájlt tárolhat
  • A lib könyvtár alatt található alkönyvtár armeabi néhány fájlot vagy jar csomagot tárol
  • Az aláírási információkat a META-INF könyvtárban tároljuk, hogy biztosítsuk az apk csomag integritását és a rendszer biztonságát
  • res: apk képforrás

Ismerje meg az apk létrehozásának folyamatát

android

Kiegészítő elemzési eszközök

  • nimbledroid: képes megismerni az alkalmazás memóriájának használatát, a hálózat használatát, a lemez bemenetét/kimenetét, a fájlméretet és az egyéb olyan adatokat, amelyeket a NimbleDroid fontosnak tart;
    • Hivatalos webhely: https: //nimbledroid.com/ (Nem szükséges felborítani a falat, a hozzáférés lassabb)
    • bejegyzett
    • Belépés
    • Apk feltöltése
    • Hatáskép: "Bubble News_File Analysis.png"

Fogyás lépései

0. Kezdő méret -> 19039kb
1. Kapcsolja be a minifyEnabled funkciót (kapcsolja be a homályosítást, törölje a haszontalan java fájlokat), tekintse meg az elhomályosított jegyzeteket.

Proguard jegyzet

Típuskonverziós hiba, figyelni kell a Gson és hasonlók használatára

A webes nézetben interakció van a js és a helyi kód között, tartsa a Bridge-t Nem szabad összetéveszteni

A harmadik féltől származó csomagok nem keverhetők össze

Közös harmadik féltől származó csomagok

2. Kapcsolja be a shrinkResources (távolítsa el a haszontalan erőforrásokat), és távolítsa el a Temporary image -> 17121kb projektet

3. Törölje a haszontalan nyelvi erőforrásokat -> csökkentse kb. 100 kt

4. Használjon tinypng veszteséges tömörítést

  • A TinyPNG intelligens, veszteséges tömörítési technológiát használ (a kép színeinek számának csökkentésével a kép tárolásához szükséges adatok csökkentése érdekében) a PNG kép méretének csökkentése érdekében. Ez a fajta tömörítés csekély hatással van a képre, de nagymértékben csökkentheti a kép méretét, és továbbra is fenntarthatja a PNG alfa átlátszóságát
  • Mivel a TinyPNG a PNG képeket 8 bites PNG formátumba tömöríti (a 24 bites helyett), a tömörítési aránya nagyon magas, legalább 50% -os vagy annál nagyobb, egyesek akár a 70% -ot is elérhetik, és a tömörített kép és az eredeti Az emberi szem alig látja a különbséget.

  • Hivatalos weboldal: http://tinypng.com/(Nem kell felborítani a falat, lassabb hozzáférés)
  • 1. használat: Húzza, tömörítse, töltse le
  • A második módszer használata (tinypng kliens, teszthiba): használjon külső eszközt, kérjen engedélyezési kódot, használja a TinyPngWrapper alkalmazást (http://blog.csdn.net/visualcatsharp/article/details/17137405)
  • Használja a harmadik módszert (ps plug-in, nincs tesztelve): http: //www.zcool.com.cn/article/ZMTE2MTQw.html

5. Nagy, nem átlátszó képek esetén a jpg-nek jelentős előnye lesz a png méretével szemben. Nagyon bölcs választás a jpg használata nagy képek, például indító oldalak, aktív oldalak stb. Megjelenítési területén -> 15615 kb
* Az átalakításhoz használja a formátum gyárat
* Ismerje meg a gyakori képformátumokat:

6. Használjon webp formátumot -> 15541
* A webformátum megértése: http: //isux.tencent.com/introduction-of-webp.html (WebP Fedezze fel az utat)
* Az Android 4.0+ verziótól natívan támogatott, de nem támogatja az átláthatóságot, amíg az Android 4.2.1+ nem támogatja a weblap átlátható megjelenítését, különös figyelmet fordítson a használatára
* Az átalakításhoz használja a formátum gyárat
* A weblap NDK-kompatibilis alacsony verziót használ (nincs tesztelve): http: //blog.csdn.net/jiwangkailai02/article/details/17015451

7. Töröljön vagy cseréljen le néhány haszontalan képet a kompatibilitási csomagból (v4 v7 v13)
* A drawable-ldrtl törlése: az layout-direction-right-to-left rövidítése, ami azt jelenti, hogy az elrendezés jobbról balra halad, főleg az arab nyelvhez való alkalmazkodáshoz. Ennek az API17-nek kell lennie, amely az Android 4.2 új funkciója

  • Cserélje ki a haszontalan képforrásokat a v4, v7 és v13_optional fájlokban
    • 1x1 pixeles képeket használhat a v4, v7, v13 egyes képforrások helyettesítésére

8. Ügyeljen arra, hogy törölje a harmadik féltől származó aar könyvtárban használt összképet_jegyezze meg a helyzetet

9. Tehát a könyvtár törlése: Javasoljuk, hogy a tényleges működő konfiguráció csak az so fájlokat tartsa armable és x86 alatt, ami kompromisszumos megoldás.

10. A v4 csomag DrawableCompat segítségével töltse ki a választó hatást a színező séma, referencia segítségével

11. Képfájlokkal cserélje ki a képeket

12. Használjon képkészletet képek kivágásához, olvassa el a Meituan klienst, a Meituan által használt rajzolható-xhdpi készletet

13. Helyezze az ilyen fájlt az internetre vagy az SD-kártyára, lásd: https://segmentfault.com/a/1190000004062899

14. Használjon vektorgrafikát a vectorDrawable segítségével (kompatibilitási problémák, csak 5.0 után érhetők el)