Cum de a reduce dimensiunea fișierului apk

Cum de a reduce dimensiunea fișierului apk
Toată lumea știe că Android Market impune o limită privind dimensiunea programelor publicate. Astăzi la magazin puteți plasa aplicația, a cărei valoare nu depășește 50 MB, dar ce ai face dacă ai din această limitare? David Carlsson. cererile de arhitect de la Sony Ericsson, oferă câteva sfaturi care pot ajuta la reducerea dimensiunii fișierului apk.

Ce este format APK?

APK - o abreviere a pachetului de aplicații Android (Android fișier arhivă a programului). Fiecare aplicație Android este ambalat în fișierul apk care conține cod executabil (fișiere .dex), resurse, active și fișierul manifest. De fapt, apk este o arhivă zip standard de, deci nu are nici un sens pentru a comprima fișierele de resurse pre de către orice arhivator.

Cum de a reduce dimensiunea fișierului apk
Iată câteva sfaturi pentru a vă ajuta să reduceți dimensiunea programelor Android.

utilizare ProGuard

ProGuard - l ofuscarea, comprimarea simultan dimensiunea de cod. După cum este bine cunoscut, aplicații Java sunt compilate în cod octet, din care pur și simplu a restabili codul sursă Java. Pentru a complica iubitorii de viață de inginerie inversă a inventat Obfuscators. Obfuscator este de a confunda codul sursă, păstrând în același timp funcționalitatea originală. Se pare un cod sursă de lucru, există puține potrivit pentru citirea umană. Programul disimulare ProGuard pe langa comprimă de fapt codul sursă, făcându-l mai rapid și mai puțin solicitante pe memorie. Este foarte important după utilizarea de comportament ProGuard aplicații de testare aprofundată primite. Pot exista situații în timpul optimizării și codul de disimulare schimba funcționalitatea acestuia. În astfel de cazuri, este important să aibă grijă de menținerea Maparea simbolurilor, astfel încât să puteți restaura din codul sursă greu de citit și să încerce să identifice sursa problemelor.

Eliminați informațiile de depanare

David recomandă ca înainte de compilare versiunea finală a programului pentru a elimina totul legate de design de depanare, pentru că nu poartă nimic utilizator util.

O parte din compilator Android SDK-ul este capabil de a elimina automat codul de depanare de la lansare, dar programatorul trebuie să aibă grijă de executarea corespunzătoare a programului, plasarea comenzilor de depanare într-o unitate specială:


De multe ori dezvoltatorii novice face din cod de depanare sub formă de metode individuale

Acest lucru nu este cea mai bună soluție, deoarece blocul în cazul în care (Debug) vor fi eliminate în timpul de eliberare a construi. dar metodmyDebugPrint (), iar apelul va rămâne intact și va rămâne în vigoare.

Scoateți simbolurile de depanare ale bibliotecilor native

Utilizarea simbolurilor de depanare are sens atunci când aplicația este în curs de dezvoltare. Dacă decideți să colecteze eliberarea, David recomandă să eliminați simbolurile de depanare ale bibliotecilor native (.so fișiere). Acest lucru se poate face prin apelarea de comandă-braț EABI-banda de Android NDK.

Compresele fișiere PNG

Utilizați 9patch PNG pentru imagini scalabile

9patch PNG - un format special, care poate fi folosit pentru a crea substraturi ductile. Cel mai adesea formatul este folosit pentru a crea butoane și alte elemente de interfață de utilizator. Ca parte 9patch imagine este împărțit în 9 segmente - patru colțuri, cele patru laturi și partea centrală. Pe baza acestor imagini pot fi create din orice substrat dimensiune, în care segmentele unghiulare nu scalate; coaste și segmentul central de întins (repetate de mai multe ori) pentru a umple golurile dintre colțuri. Mai jos, este o 9patch imagine și două generate pe baza butoanelor sale. Utilizarea acestui format se poate reduce în mod semnificativ dimensiunea graficii necesare pentru a crea interfața.

Eliminați resursele neutilizate

Ca regulă, res dosar conține mai multe resurse neutilizate. Pentru a le elimina, puteți utiliza o specială-utilituandroid neutilizate-resurse. care scanează codul sursă și elimină resursele neutilizate din proiect.

evita suprapunerea

Aveți grijă să nu dubleze funcționalitatea și active (linii, desene, etc.) în aplicația dumneavoastră. Este important să se înțeleagă ceea ce utilizați API-ul Android și cunosc funcționalitatea lor. Este posibil ca în programul dvs. pentru a rezolva o problemă care poate fi rezolvată prin intermediul API-ul este deja conectat, conectați noul API. Duplicarea de cod, de exemplu, includerea de caracteristici fac același lucru, de asemenea, duce la umflarea fișierelor APK.