Hova tűnt a szabad hely a telefonomról?

Sokakban merült már fel ez a kérdés dacára annak, hogy csak úgy röpködnek a gigabyte-ok a telefonok világában is. Régebben jó ha volt 4 Mb egy telefon belső memóriája manapság már 2, 4, 8, 16, 32 és 64 Gb-okkal operálunk (de minek is?) mégis a világ összes helye sem elég, ha terrák lennének az is elfogyna. És mi van akkor ha elfogy és fogalmunk sincs róla, hogy miért? Itt a megoldás, két szimpatikus szoftver személyében.

Elsőként egy grafikusabb megoldás mutatok be, a Disk Space nevű szoftvert mely nagyon szépen kirajzolja a kijelzőre arányosan, hogy mi is mennyi helyet foglal. A nagy szürke keret mutatja a mappákat, a kis kék négyzetek pedig a bennük lévő fájlokat szimbolizálják méretarányosan. Tudunk zoom-olni meg ilyenek, de többet nem nagyon lehet írni erről a progiról, ki kell próbálni főleg azért mert semmilyen jogosultság igénye nincs!
Link: https://play.google.com/store/apps/details?id=com.wemobs.android.diskspace&feature=also_installed#?t=W251bGwsMSwxLDEwNCwiY29tLndlbW9icy5hbmRyb2lkLmRpc2tzcGFjZSJd
disk space 1 disk space 2

Második szoftverünk a Storage Analyser nem annyira a vizuális ábrázolásra ment rá (de ennek is megvan a maga előnye) hanem a diagramok és százalékok irányába. Szkennelés közben méret szerint rendezi csökkenő sorrendbe a mappákat és az épp aktuális mappaszinten található összes adatmennyiség arányában húz fekvő oszlopdiagramot és jelöli meg százalékban és Mb-ban megadva is a mappa pontos méretét ezen kívül a mappában található fájlok darabszámát is feltünteti. Nagyon praktikus, gyorsan és pontosan kiszűrhető ha valami eltérés van. Ezen kívül alapvető fájlműveleteket is végrehajthatunk a program segítségével.
Link: https://play.google.com/store/apps/details?id=com.levelokment.storageanalyser&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5sZXZlbG9rbWVudC5zdG9yYWdlYW5hbHlzZXIiXQ..
storage analyser 1storage analyser 2 storage analyser 3
storage analyser 4 storage analyser 5

Android vs. iOS (iPhone) és WP7 – UI tények

Android vs iOSAmióta Androidos Xperia X10i-m van egyre jobban megbarátkoztam ezzel az oprendszerrel, bár a Symbian után elsőre furcsa volt. Amikor megvettem még 2.1-es droid volt rajta, majd kijött a 2.3.3-as frissítés. Ahogy egyre jobban kiismertem a rendszert észrevettem, hogy több esetben akadozni látszott a készülék. Sok helyen azt olvastam, hogy ez a 2.3.3-as rendszer miatt van, hogy nagyobb a “gépigénye”, de szerintem nem így van. Ezt az alább leírtakra alapozom.

Az Android és az iOS között alapvető különbségek vannak, az Android bytecode-ot (ez egy köztes kód a natív kód és a JVM között) alkalmaz a programok futtatásakor míg az iOS natív kóddal dolgozik. Ezen kívül a prioritások között is különbségek vannak, az Android normál prioritáson “rajzolja” a grafikus felületet ellenben az iOS (és WP7 is) real-time Android vs iOS 2prioritáson van. Ez azt jelenti, hogy a droidos telefonok grafikus felülete a többi futó programmal osztozni kénytelen, ameddig az almás eszközök mindent alárendelnek a grafikus felületnek. Ez azt eredményezi, hogy az Apple termékei gyorsabbnak tűnnek, holott több esetben nem is azok, ez csak a látszat.

Egy teszt amit bárki elvégezhet akinek mindkét gyártó készüléke megvan:
Töltsünk le egy normál weblapot iOS alatt és Android alatt is. Miközben az oldal töltődik érintsük meg a képernyőt és mozgassuk a tartalmát (mondjuk amikor már a fele oldal megvan, de még hiányos), azt fogjuk látni, hogy az iOS megállít minden letöltést és egyéb folyamatot és minden erejét a grafika kirajzolására szenteli míg az Android folytatja az oldal betöltését és eközben kissé zötyögve de reagál a tartalom mozgatására is. Ebből az szűrhető le, hogy a ténylegesen gyorsabb rendszer tűnik ez esetben lassabbnak mert a felhasználó szubjektív benyomása a döntő ilyenkor nem pedig a tények.

Ez a dolog egyébként minden eddig Android OS-t érint, megoldás elvileg a ICS 4.0-ás rendszerben lesz rá.

Röviden ennyi a lényeg, de akit mélyebben érdekel ez a téma az alábbi linkeken olvashat róla bővebben:
https://plus.google.com/100838276097451809262/posts/VDkV9XaJRGS

Android memóriakezelés

A kezdet

Pár hónapja vettem egy Sony Ericsson Xperia X10-es telefont. Eddig szinte csak Symbian-os vagy S40-es Nokiáim voltak, de a technológiai fejlődés megállíthatatlanul utat tört magának és nekem is lépést kellett tartanom a korra. Hosszas mérlegelés után döntöttem ennél a készüléknél és operációs rendszernél.

Idő szülte érdeklődés

Akinek hozzám hasonlóan ez egy ismeretlen terep, az gyorsan belefuthat a sokak által használt “Task killer” programokba. Én is így voltam ezzel, mindenki javasolta, hogy szükséges és kell. De ahogy egyre jobban elmélyedtem ebben a témában kiderült, hogy nem csak szükségtelen de még kis mértékben káros is. Káros a telefon készenléti idejére, ugyanis az alkalmazások újraindítása megterheli a telefont (processzor, akkumulátor használat növekedés az alkalmazások újraindításakor). Miután kilőttem egy csomó task-ot kisvártatva ismét elindult majdnem mind újra. Sajnos erre a problémára nem igazán találtam választ (magyar oldalakon) sehol. Ezért úgy döntöttem megosztom ezt az infromáció kissé konyhanyelven, hogy más ne szívjon annyit mint én.

Megoldás

A kérdésemre a választ itt találtam meg. Mivel ezen az oldalon minden le van írva ezért én itt csak kivonatolom az olvasottakat. A régebbi (1.5 és 1.6) Android rendszerek esetében még nem volt teljesen tökéletes a memória kezelése, ott még volt értelme task killert használni. Viszont a 2.1 és 2.2 (és fölött) már szinte semmi haszna nincs. Egyszerűen fogalmazva a rendszer mindig annyi memóriát szabadít fel magának amennyire szüksége van, intelligensen a következő módon. A memóriában tárolt programok 5 csoportra vannak bontva melyek a következők:

Android memóriakezelés

  1. Active processes (Aktív folyamatok) – Ez a éppen használat, látható folyamatok, mondjuk egy e-mail írása.
  2. Visible processes (“Látható” folyamatok) – Ezek is szem előtt vannak még (widget mondjuk), de itt nincs interakció a felhasználó és a program között.
  3. Started Service Processes (Szervizek) – Ezek már olyan folyamatok melyek a háttérben futnak, nincs interakció a felhasználóval és nem is láthatóak. Kisebb az erőforrás igényük is ezáltal.
  4. Background processes (Háttér folyamatok) – Ezek a szerviz nélküli, háttérbe tett folyamatok. Ezek olyan folyatok amelyekből már “gyomlálhat” a rendszer. A legrégebben “látott” folyamatot törli először ha szükség van erőforrásra.
  5. Empty processes (“Üres” folyamatok) – Ez az egyszer már elindított, de azóta bezárt folyamatok. Azért vannak a memóriában, hogy ha legközelebb szükség lenne rájuk, akkor sokkal gyorsabban be tudnak töltődni (el tudnak indulni), mintha ezt a memória kártyáról tennék. Itt is igaz a legrégebben “látott” (leállított) folyamatot veszi ki először a memóriából a rendszer ha erőforrást kell felszabadítania.

Bővebb, angol nyelvű leírás itt olvashatjátok (fentebb is linkelt): http://mobworld.wordpress.com/2010/07/05/memory-management-in-android/

Remélem tudtam segíteni egy kicsit az Android memóriakezelés megértésében.