Opty­ma­li­za­cja png – zwięk­sze­nie wol­nej pamię­ci RAM

Mia­łem dzi­siaj stwo­rzyć 2 wpi­sy, ale mia­łem pro­ble­my z inter­ne­tem i zają­łem się przy­go­to­wy­wa­niem do napi­sa­nia jed­ne­go roz­wi­nię­te­go wpi­su. Wpis ten będzie opi­sy­wał jeden z naj­cie­kaw­szy­ch, naj­mniej popu­lar­ny­ch i naj­spryt­niej­szy­ch spo­so­bów na zmniej­sze­nie uży­cia pamię­ci RAM na tele­fo­nie. Szcze­gól­nie przy­dat­ne przy smart­fo­na­ch z 512mb ram 😉

Teo­ria: opty­ma­li­za­cja pli­ków png w apli­ka­cja­ch sys­te­mo­wy­ch i nie­sys­te­mo­wy­ch.

 

Uwa­ga – porad­nik do opty­ma­li­za­cji apek sys­te­mo­wy­ch nie dzia­ła na andro­idzie L

Zale­ty:
1. Jako­ść obra­zu nie jest w żaden spo­sób pogar­sza­na.
2. Zysku­je­my tro­chę miej­sca na par­ty­cji sys­te­mo­wej.
3. Apli­ka­cje po opty­ma­li­za­cji mniej ważą, więc się szyb­ciej wczy­tu­ją.

Wady:
1. Dosyć cza­so­chłon­na meto­da, zwłasz­cza przy opty­ma­li­za­cji png w poje­dyn­czy­ch apli­ka­cja­ch nie­sys­te­mo­wy­ch
2. Wyma­ga moż­li­wo­ści wgra­nia nowe­go romu
3. Trze­ba mieć rom bazo­wy (zip z custom romem)

Dla­cze­go to dzia­ła?
W pli­ka­ch apk róż­ne­go rodza­ju obraz­ki są zapi­sy­wa­ne w for­ma­cie .png , któ­ry jest for­ma­tem bez­strat­nym. Moż­na jed­nak czę­sto zmniej­szyć jego wagę bez utra­ty waż­ny­ch dany­ch. Porów­nał­bym to do kom­pi­lo­wa­nia od nowa pro­gra­mu, tym razem z uży­ciem wydaj­niej­sze­go narzę­dzia.

Spo­sób na opty­ma­li­za­cję apek sys­te­mo­wy­ch :
1. Pobie­ra­my rom na dysk kom­pu­te­ra
2. Pobie­ra­my potrzeb­ne skryp­ty (lin­ki poni­żej)

https://mega.co.nz/#!9INiVRzJ!dto2kgDs4dXEUqgTPTJL9R79K2nIQu0a00-ZfDjjhU0

https://mega.co.nz/#!9BUwlAAK!O__4yZdlCWTUFFu-5U4gO6z74vcHMRcmJU2XCHfkQok

3. Roz­pa­ko­wu­je­my wszyst­kie pli­ki z romu do fol­de­ru, w któ­rym będzie­my pra­co­wa­li.

4. Do fol­de­rów /system/priv-app i /system/app wypa­ko­wu­je­my wszyst­kie pli­ki z apkopt.zip. W obu loka­li­za­cja­ch muszą być wszyst­kie pli­ki z zipa

5. Wybie­ra­my na począ­tek albo fol­der priv-app, albo app, kolej­no­ść nie ma zna­cze­nia.

6. Odpa­la­my skrypt apkoptall.bat i cze­ka­my, aż skrypt skoń­czy robo­tę. To potrwa kil­ka minut.

7. Po skoń­czo­nej pra­cy skryp­tu będzie­my mieć w fol­de­rze pod­fol­de­ry „ori­gi­nals” , „opti­mi­zed” oraz pli­ki skryp­tu. Usu­wa­my pli­ki skryp­tu z tego fol­de­ru. Usu­wa­my fol­der „orgi­nals” razem z zawar­to­ścią. Jeże­li robi­li­śmy opty­ma­li­za­cję naj­pierw na fol­de­rze „app”, to prze­no­si­my wszyst­kie dane z fol­de­ru poło­żo­ne­go w /system/app/optimized do /system/app. Cho­dzi o to, żeby wszyst­kie pli­ki apk były w takiej samej loka­cji, jak przed zmia­na­mi.

8. Usu­wa­my pusty fol­der „opti­mi­zed”.

9. Powta­rza­my punk­ty od 6. do 8 włącz­nie dla dru­gie­go z fol­de­rów.

10. Two­rzy­my zipa ze wszyst­ki­ch fol­de­rów i pli­ków w fol­de­rze, w któ­rym pra­co­wa­li­śmy. Naj­le­piej jest wybrać opcję bez kom­pre­sji.

11. Obok nasze­go zipa z sys­te­mem wypa­ko­wu­je­my pli­ki z archi­wum autosigner_windows.zip

12. Zmie­nia­my nazwę pli­ku z romem na update.zip Jest to koniecz­ne.

13. Odszu­ku­je­my plik sign.bat i go uru­cha­mia­my.

14. Zmie­nia­my nazwę romu (update-signed.zip) na swo­ją wła­sną, a nie­pod­pi­sa­ną wer­sję usu­wa­my.

15. Prze­kle­ja­my rom do pamię­ci tele­fo­nu. Nie nale­ży się dzi­wić, że plik zip z naszą wer­sją romu może ważyć wię­cej, niż bazo­wy, wyni­ka to z bra­ku kom­pre­sji.

16. Odpa­la­my tele­fon do reco­ve­ry. Jeże­li byli­śmy wcze­śniej na tym romie, robi­my wipe dalvik-cache , wipe cache i wipe sys­tem. W tym momen­cie nie mamy sys­te­mu z wiec musi­my sfla­sho­wać nową wer­sję. Radzę pozo­sta­wić na wszel­ki wypa­dek sta­rą wer­sję w pamię­ci tele­fo­nu. Fla­shu­je­my zip z naszym romem.

17. Restar­tu­je­my tele­fon do sys­te­mu.

Goto­we…

Czę­ść 2, jak zoo­p­ty­ma­li­zo­wać apli­ka­cję nie­sys­te­mo­wą?

1. Musi­my zdo­być plik apk, jeże­li już go mamy, może­my przej­ść do pkt 3.

2. Jeże­li mamy zain­sta­lo­wa­ną apli­ka­cję, a nie mamy pli­ku apk, będzie­my potrze­bo­wać roota. W root explo­re­rze (taki pro­gram) wcho­dzi­my do loka­li­za­cji /data/app i szu­ka­my pli­ku apk z apli­ka­cją, któ­ry chce­my zop­ty­ma­li­zo­wać.

3. Prze­no­si­my plik apk na kom­pu­ter, naj­le­piej do jakie­goś pod­fol­de­ru, nie na pul­pit.

4. Wypa­ko­wu­je­my zno­wu pli­ki z apkopt.zip do tej samej loka­li­za­cji. Odpa­la­my skrypt apkoptall.bat

5. Teraz, albo może­my zro­bić coś, co nie­ko­niecz­nie zadzia­ła, ale jest duża szan­sa, albo coś, co na pew­no zadzia­ła, ale jest tro­chę dłuż­sze. jeże­li chce­sz robić coś, co może zadzia­ła, czy­taj pod­punk­ty „a”. Jeże­li chce­sz iść na pew­nia­ka, czy­taj pod­punk­ty ozna­czo­ne lite­rą „b”

6a. Do fol­de­ru „opti­mi­zed” wypa­kuj zawar­to­ść autosigner_windows.zip. Zmień nazwę pli­ku apk na update.zip i zaak­cep­tuj powia­do­mie­nie, że plik może nie dzia­łać.

7a. Uru­chom skrypt sign.bat

8a.Zmień nazwę pli­ku upda­te . zip na tu_wstawiasz_nazwe_aplikacji.apk i zaak­cep­tuj takie samo powia­do­mie­nie, jak parę chwil wcze­śniej.

9a. Prze­nieś goto­wą apkę na tele­fon i zain­sta­luj.

6b. Prze­nieś apkę z fol­de­ru „opti­mi­zed” na tele­fon.

7b. Zain­sta­luj apli­ka­cję Zip­Si­gner ze skle­pu play

8b. Uży­wa­jąc tej apli­ka­cji pod­pi­sz apkę.

9b. Zain­sta­luj apkę.

W przy­pad­ku przy­pad­ku insta­la­cji poje­dyn­czej apli­ka­cji nie­sys­te­mo­wej nie ist­nie­je szan­sa na zepsu­cie tele­fo­nu. Moż­na mie­szać ze sobą te meto­dy, lub sto­so­wać wyłącz­nie jed­ną z nich. Nie opła­ca się sto­so­wać tej meto­dy do gier.

Jutro będzie arty­kuł: Jak zmniej­szyć wagę pli­ku apk, bez stra­ty jako­ści, z lek­ką stra­tą wydaj­no­ści.

 

 

  • moeii

    Wszyst­ko OK, ale jeże­li mówi­my o przy­śpie­sze­niu i ogól­nie oszczęd­no­ści ramu, to o jaki­ch dokład­niej war­to­ścia­ch mówi­my? Typu apli­ka­cja zamia­st 50 MB waży 45 MB, czy mniej/więcej?

    • ada­mo­1139

      Na razie robi­łem to na apli­ka­cja­ch sys­te­mo­wy­ch na dwó­ch roma­ch. Jeden z nich jest wgra­ny na tele­fon. Dzi­siaj zro­bię to dla apli­ka­cji użyt­ko­wej. Apli­ka­cja „usta­wie­nia” (naj­więk­sza apli­ka­cja sys­te­mo­wa w aosp) waży nie­ca­łe 7mb zamia­st 15, wiec róż­ni­ca jest gigan­tycz­na

  • Wszyst­kie smart­fo­ny jakie posia­dam mają 2GB’Ram a naj­now­szy Zen­fo­n2 nawet 4GBRam i 32GB eMMC

    • ada­mo­1139

      To dobrze, ale nie wszy­scy mają takie smart­fo­ny

      • Zga­dzam się ale ja z zało­że­nia kupu­ję coś dro­żej i zapa­sem aby się potem nie bujać z pro­ble­ma­mi .
        Kie­dyś kupi­łem mój pierw­szy andro­id Sam­sung Gala­xy Mini 5570 za 520 zł. bo się naczy­ta­łem komen­ta­rzy trol­li gów­nia­rzy w necie a potem zoba­czy­łem jak to masa­kra i szmelc .
        3 dni póż­niej poje­cha­łem do Saturn i kupi­łem SGS’2 za 1999 zł. któ­ry mam do dziś ale już z CM11 (KK’4.4) a Mini sprze­da­łem za 100 zł. komuś i pozby­łem się pro­ble­mu z bra­kiem pamię­ci ram i emmc