Tak psanim java aplikaci si privydelavam, ale nevim, jestli umim jednoznacne odpovedet primo na otazku, tak to zkusim tak nejak obecne
Me jako programatora J2ME aplikaci (symbian vubec neresim) trapi v podstate tri velikosti pameti. Velikost JAR souboru, heap pamet a limit RMS.
JAR soubor je asi jasny, jsou v nem zabaleny vsechny tridy aplikace a resim neustale dilema, jak aplikaci s co nejvice funkcemi dostat do nejmensiho archivu. Vetsina telefonu ma na velikost JAR souboru aplikace nejaky limit. U starsich nokie series 40 je to typicky 64 KB, u novejsich vice, treba 6310i mela 30KB. Siemensi tenhle limit nemeli nikdy, pouze doporucene maximum. Tenhle limit vadi asi nejcasteji, protoze treba en slovnik spustitelny na 7210 musi mit hodne omezenou slovni zasobu, protoze vic nez 64KB ten telefon nenainstaluje.
U novych a symbianovych telefonu by uz taky tenhle limit nemel byt zasadnim problemem.
Pak ma kazdy telefon nejaky limit na celkovou pamet obsazenou Java aplikacema, u siemensu cela pamet spolecna (obrazky, melodie, java...), u nokii je to hodne ruzne, na nekterych typech je dokonce limitovan i pocet java aplikaci.
Proc to maji nektere telefony spoustu ruznych limitu a oddelenou pamet pro javu od zbytku, se me neptejte, reseni siemensu mi prijde praktictejsi.
Dalsi podstatnou velikosti je heap pamet. Je to defakto totez co RAM u pocitace. Zjednodusene je tim dano, s kolika daty muze aplikace najednou pracovat, obvykle jde hlavne o obrazky. Tady je opet povestna nokia series 40 (aspon stare telefony v te rade), kdy pridelenych 200 KB pro displej 128*128 proste nestaci, protoze nelze mit nactene vsechny obrazky, ktere jsou pro beznou hru potreba a musi se pameti strasne setrit. Pro srovnani M55 ma displej 101*80 a heap 750 KB.
Novejsi telefony mivaji kolem 1.5 MB heap, ale dost se to lisi a na webu se ten parametr spatne dohledava. Komplikovane je to u telefonu s OS, ktere pamet aplikaci obvykle prideluji postupne az kdyz ji potrebuje. Pokud si aplikace predem kontroluje dostatek pameti, muze nastat problem, protoze si mysli, ze se ji data nevejdou. Dle meho chyba telefonu, protoze aplikace netusi (a nemuze to zjistit), ze jeste dostane dalsi pamet, az ji bude potrebovat.
No a pak jsem jeste chtel zminit RMS. To uzivatele zajima asi nejmene, je to pamet, do ktere muze aplikace ukladat data (RecordStore). U tech starych nokii to bylo radove 20KB (strasne malo, pokud si mail klient chce ukladat maily, ale pro hiscore dostatecne...), u Siemensu omezeno jen sdilenou pameti.
Kdyz to telefon umoznuje, tak aplikace muze ukladat i primo do file systemu, ale to nejde vsude, zatimco RMS musi umoznovat kazdy J2ME telefon.
To jestli se aplikace po instalaci nekam rozbali (SE), zustane v puvodnim JAR a JAD (siemens), nebo se dokonce provede nejaka kompilace a optimalizace (LG) zalezi jen na vyrobci a aplikace se o tom vubec nedozvi ani to nemuze ovlivnit.
Tak nevim, jestli jsem nekomu pomohl, hodne jsem to zjednodusil, ale nechtel jsem zabihat do vetsich podrobnosti, uz tak je to dost dlouhy text
