Jak na nedostatek paměti aneb jarní úklid vašeho smartfounu

Pár tipů jak vyčistit nejen Windows Mobile zařízení
Mám problém se zaplněnou pamětí přístroje, kde mi zbývá pouze kritických 480 kB. Programová paměť je naprosto bez problémů. Už jsem smazal prakticky vše, co jsem si myslel, že by s tím mohlo souviset jako uložené SMS, historii hovorů i aplikace, které jsem nevyužíval tak často apod., ale dostal jsem se stále pouze na asi 1,35 MB volné paměti. Použil jsem i aplikaci SKTools, opravil registry, vyčistil a stále je to stejně bídné. Tak popisuje situaci se zaplněnou pamětí svého smartfounu nejeden uživatel. Nic naplat, bude třeba provést pořádný jarní úklid a uvést pár tipů a příkladů jak na to.

Není moc uživatelů, kteří by s každou nově instalovanou aplikací zkoumali kde a jak se daná aplikace nainstalovala a kolik místa v paměti přístroje zabrala. Je to stejné, jako u uživatelů PC. I zde jsou ti poctivější a odpovědnější, kteří mají přehled o instalovaných aplikacích a ostatních poměrech v systému, a také ti, které to buď vůbec nezajímá, netrápí a berou počítač prostě jako nástroj, nebo tomu prostě nerozumí natolik, aby se v tom kvalifikovaně zorientovali. Bohužel (nebo bohudík?) nejnovější operační systémy zcela záměrně složité pozadí procesů v počítačích kamuflují a ukrývají před zraky uživatelů. Stávají se blbovzdornějšími a snaží se uživatele uchránit přístupu do „temných vod“ systému. Na jednu stranu je to fajn, ale na tu druhou to přináší velké problémy jakmile dojde k situaci, která prostě nizkoúrovňový zásah potřebuje. A podobné je to i s PocketPC zařízeními. Zde navíc stále přetrvává problém z dob 8 i 16-ti bitových počítačů a tím je nedostatek paměti, i když v poněkud pozměněné podobě. Nemusí tak trvat dlouho a uživatel se podiví nad tím, že již nelze instalovat ani další program, jelikož systém hlásí nedostatek paměti. Ale jak to, diví se uživatel, vždyť tam mám gigovou paměťovku ? A plete hrušky s jabkama. Příklad z úvodu, i části dále popisované situace, jsou převzaty z reálné komunikace mezi mnou a návštěvníkem tohoto webu Pavlem (tímto ho zdravím), který mne nedávno požádal o pomoc.

Nejprve trocha teorie
uklid
Programová pamět slouží pro běh aplikací, je to něco, co si mužete představit jako RAM-ku u počítače. Běžící aplikace ji využívají pro svá tzv. runtime data atd., tedy systémová data a prostředky, vznikající za běhu programu. To, co je na obrázku označeno jako Pamět, se správně anglicky zove Storage memory – tedy paměť přístroje. Podobně jako Storage-card memory, což je prostor k dispozici na paměťové kartě (zde Flash), je Storage memory prostor pro uchovávaní samotných aplikací a jejich dat např. konfigurační soubory atd. Storage memory si můžete představit jako pevný disk svého kompjůtru, kam instalujete programy a data jako třeba obrázky apod. (Storage-card memory, tedy prostor na kartě si představte třeba jako externí pevný disk). Takže tu máme situaci, že se nám nedostává místa na pevném disku (obrazně řečeno). Ale na tom externím disku (kartě) je stále místa dost, takže můžeme využít tento prostor. Nebo ne? Odpověď zní: ano, ale. I když místem na kartě můžeme dostupný prostor a rozšířit (a to mnohonásobně), je zde bohužel jeden nepříjemný faktor, který to poněkud komplikuje. Tím je „vlastnost“ OS Windows Mobile a některých aplikací, že požadují určitý volný prostor na disku (tedy v hlavní paměti) a nebo vůbec nejsou naprogramovány tak, aby byly schopny fungovat částečně nebo výhradně na kartě (např. webový prohlížeč jB5). Jakmile dojde ke zmenšení dostupné hlavní paměti pod kritickou mez, dá vám to systém nevybíravě najevo a i když máte megabajty volného místa na paměťové kartě, není vám to nic platné, musíte se pustit do úklidu, ve kterém vám ani Mr. Proper nebude moc platný.

Jak té špíně předejít
Základem je samozřejmě instalovat, pokud možno všechny, aplikace na paměťovou kartu. Málokterá aplikace instalaci na kartu nepodporuje, ale bohužel některé, mimo souborů na kartu, cpou i nějaké další soubory do paměti přístroje. Například Opera 8, i když se instaluje na kartu, flákne hodně věcí do paměti přístroje. Většinu pak lze manuálně přesunout na kartu a upravit adekvátní záznamy v registrech či inicializačních souborech. Ale ne u všech aplikací to lze provést jednoduše, například některé soubory musí zůstat v adresáři \Windows paměti přístroje. Také SMS, MMS, e-maily atd. se ukládají, pokud to není nějakou aplikací či úpravou změněno, do paměti přístroje. Zbytečné soubory také mohou vznikat špatnou odinstalací aplikace, což ale nebývá tak časté. Také .NET CompactFramework 2.0 (což představuje kolem 5 MB) se standardně instaluje do paměti přístroje. A dokonce, i když použijete novější verzi, která má instalaci na kartu umět stane se, že soubory jsou v paměti přístroje – dá se to ale manuálně opravit. Je jasné, že postup přesunu aplikace, nebo její části, na kartu (pokud selhala instalace nebo stále zůstává příliš mnoho v paměti přístroje) je individuální a u každé aplikace trochu odlišné, více či méně komplikované. Než se pustíme do úklidu, nabízím krátký (rozhodně ne vyčerpávající) seznam toho, co lze na kartu jednoduše přemístit resp. přesměrovat.
? Témata (homescreen) na paměťové kartě
? Vyzváněcí melodie, zvuky a hudba na paměťové kartě
? Přesun složky příloh (Attachments) e-mailů na paměťovou kartu
? Přesun složky pro dočasné soubory Internet Exploreru na paměťovou kartu

Viktor čistič přichází
Ten, kdo preferuje hard-reset, tedy návrat do továrního stavu, jako prostředek úklidu, dál číst nemusí. Mně osobně se ale všechny aplikace znovu instalovat a všechna nastavení znovu provádět prostě nechce, to raději trochu uklidím. Následující postup, i když je popisován pro WM smartfouny, je možno použít také při očistě PocketPC či PDA s jiným operačním systémem, třeba Symbian apod. Abych mohl Pavlovi vyhovět, na dálku posoudit a navrhnout úpravy, co přesunout, co lze klidně smazat, požádal jsem ho, aby mi e-mailem zaslal „obsah“ svého zařízení, tedy všechno, co se nachází v paměti přístroje (obsah paměťové karty nás nezajímá). Jako ideální se ukázalo nakopírovat všechny soubory ze zařízení na lokální disk mého PC. To nám umožní rychleji a pohodlněji vše analyzovat bez nutnosti přímé práce na smartfounu. Navíc všechny systémové soubory, které jsou při běžné práci zamknuty nejsou nijak dotčeny a také soubory, které systém WM kopíruje do paměti z ROM jsou eliminovány. Ano, čtete to dobře, systém WM5 kopíruje resp. umisťuje některé své systémové soubory z ROM do paměti přístroje kvůli zvýšení rychlosti a kdo ví proč ještě (tyto soubory mají nastaveny atributy „r+s“ tedy ReadOnly a System čili „jen pro čtení“ a systémový, některé mohou být skryté – hidden). Tyto soubory mají po zkopírovaní na lokální disk nulovou velikost, což nám vyhovuje, jelikož je stejně nemůžeme vzít v úvahu při optimalizaci – stejně by se do paměti z ROM vrátily.
uklid

Na PC, třeba disku C, si vytvoříme adresář (složku, chcete-li), nazvaný třeba Úklid a v něm vytvoříme tři podadresáře tak, jak to vidíte na obrázku 1. Poté do adresáře „…soubory“ zkopírujeme celý obsah našeho smartfounu. Soubory, které jsou eventuálně hlášeny, že je nelze zkopírovat, prostě přeskočíme. Pak celý obsah zkopírujeme ještě do adresáře „…soubory_upravene“, v původním adresáři „…soubory“ tak budeme mít počáteční stav a všechny další práce budeme provádět právě nad složkou „…soubory_upravene“.
uklid
Všechny další analýzy a práce se soubory budeme (zatím) provádět na této „kopii“ adresářové struktury našeho smartfounu – pro jistotu jej raději odpojte od USB abyste se neuklikli a nezadělali si tak na malér. Velkým pomocníkem nám v naší práci bude nástroj, který umí přehledně zobrazit „poměry“ v rámci adresáře. Já osobně používám TotalCommander (klasického Průzkumníka nenávidím), pro který existuje skvělý plug-in VisualDirSize, který umí přehledně zobrazit velikost a poměry dat v rámci složky. Použít samozřejmě můžete jakýkoliv obdobný nástroj, který vám zobrazí alespoň velikost dat ve složce (vč. všech souborů v ní). Zběžným pohledem na statistiku adresáře „…soubory_upravene“ (Obr. 2) vidíme rozložení a velikost dat na našem smartfounu. Je ihned zřejmé, že naše očistná činnost bude zaměřena na tři „nejšpinavější“ adresáře – na obrázku 2. první 3 zhora.

uklid
Při detailnějším zkoumání adresáře „Program Files“ snadno objevíme, že máme v paměti přístroje instalovány zbytečně tři, relativně velké, aplikace, které by klidně mohly být umístěny na kartě (Obr. 3). V našem případě je to PreludeICQ, TotalComanderCE a programy od SunnySoftu (slovník opravdu patří na kartu). Všechny tyto aplikace je třeba přeinstalovat na kartu, to je třeba mít na mysli, ale zatím je prostě přesuneme(!) do složky „…soubory_smazane“, který byl zatím prázdný a kde tak budeme shromažďovat všechna data apod., a která později buď smažeme nebo (a to častěji) přesuneme či přeinstalujeme na kartu.
uklid
Podobný postup zvolíme i v případě adresáře „Application Data“. Podadresář Sounds už na první pohled vypadá poněkud obtloustle a když se tam podíváme detailněji, zjistíme přítomnost několika objemných MID a MP3 souborů, které lze jednoduše přesunout na paměťovou kartu. A opět, všechny soubory, které budeme dávat později na kartu, přesuneme do složky „…soubory_smazane“ (jasně že do stejně nazvaného pod-adresáře, tedy „Application Data“/Sounds)

Poněkud větší a mravenčí práce nás čeká v adresáři Windows. 31,3 MB je relativně hodně a tento adresář by měl, dle mého skromného odhadu, zabírat tak 28-29 MB maximálně. Popisovat jak konkrétně se při průzkumu tohoto adresáře zachovat ani přesně nejde, jelikož množství „zbytečných“ souborů závisí na počtu a typu instalovaných aplikací. Mi se podařilo objevit, že zhruba 2,8 MB zabírají DLL soubory patřící aplikaci ClearVue (pohledem na Vlastnosti souboru). Tento prohlížeč Office dokumentů bývá standardně dodáván na CD spolu s některými zařízeními, i u svého Qteku jsem jej měl, a tak lze tvrdit, že velké množství uživatelů bude mít podobnou zkušenost. Nejsem si teď přesně jist, ale je možné, že tyto soubory (viz obrázek 5.) zde naleznete i když zvolíte instalaci ClearVue na kartu. Raději zkuste nejprve ClearVue přeinstalovat a pokud i poté budou tyto soubory v paměti přístroje nezbývá, pokud chceme ještě nějaký ten megabajtík ušetřit, zkusit tyto soubory přesunout na kartu tj. do adresáře „\Storage Card\Windows“. A opět nezapomeňte přesunout všechny soubory, které později přijdou na kartu, do složky „…soubory_smazane“.
uklid

A ještě doporučení: přidejte cestu na adresář „\Storage Card\Windows“ do klíče „HKEY_LOCAL_MAC­HINE\ Loader\SystemPath“. Zde již mohou být přítomné i jiné položky(adresáře) takže jen přidejte novou hodnotu. „SystemPath“ je Multi-String hodnota takže přidejte novou cestu jako nový řádek (Enter vytvoří nový řádek) například tak bude obsahovat: „\windows\oem\“ na jednom řádku a vámi přidané „\storage card\windows\“ na druhém. Také pokud aplikace po přesunu souborů z adresáře Windows na kartu nefunguje správně (nebo vůbec), zkuste tyto (většinou DLL) soubory umístit do stejného adresáře, kde se nachází hlavní EXE soubor – pravděpodobně v nějakém adresář pod „\Storage Card\ Program Files\“.

Výsledná rekapitulace
uklid
Obdobným způsobem samozřejmě postupujeme u všech podezřele „vyžraných“ adresářů, kde vždy vysledujeme, která data či soubory lze bez problémů přemístit na paměťovou kartu. V některých případech to může být i problém, protože jak jsem již uvedl, některé aplikace vyžadují přítomnost některých svých souborů na „původním“ místě nebo bude nutno, po přesunu na kartu, upravit nastavení aplikace v registru nebo ini souboru apod. V těchto případech budete muset trochu improvizovat a experimentovat a takovéto „hazardní“ přesuny si nechejte úplně na konec očistného procesu – a rozhodně nespěchejte. Takže pokud jste stále dodržovali princip toho, že jste soubory či složky, které budete později přesouvat na kartu, přesouvali ze složky „…soubory_upravene“ do složky „…soubory_smazane“, můžete teď jednoduše zjistit, kolik místa jste touto očistnou činností ušetřili a které soubory, aplikace či složky máte přesunout nebo přeinstalovat na paměťovou kartu.
uklid
Statistika dat v adresáři „…soubory_smazane“ nám ihned ukáže, kolik MB dat jsme v paměti přístroje ušetřili (viz obr. 6.) a při pohledu na statistiku složky „…soubory_upravene“ uvidíme nové rozložení a velikost dat v paměti přístroje (viz obrázek 7) po předpokládaném provedení změn. V našem případě to bylo ušetřených více než 6 MB. Konečné číslo nebude souhlasit vzhledem k odlišnému souborovému systému a nárokům na uložení souborů atd. Rozdíl ale nebude nikterak velký. Kolik ve výsledku takovouto očistou ušetříte místa záleží na situaci a také na vaší „důkladnosti“, ale mnohdy jsme vděčni, jak se říká, za každé kilo. A závěrem malá rada (když už se jmenuju Radim): buďte „poctivější a odpovědnější“ a mějte větší přehled o instalovaných aplikacích a ostatních poměrech a datech v systému. Vždy se lépe uklízí nádobí jen po jednom jídle než vše najednou po propařeném víkendu.

7 komentářů Jak na nedostatek paměti aneb jarní úklid vašeho smartfounu

  • homi

    Mne by spis zajimal problem,kdyz mam plnou RAMku.Jak zjistim,kt.program zabira kolik mista? Pripadne.kt. programy(knihovny)jsou nutne pro beh windows a vubec,kt.jsou puvodni winaplikace a kt.jsem si doinstaloval ja?

  • Myslíš jako, kolik program zabírá v paměti ze běhu? Pokud ano, tak to lze třeba odečtem od původní velikosti volné paměti před spuštěním programu.
    Původni aplikace (tedy pokud myslíš ty, co byly k dispozici hned po zakoupení stroje) jsou ty, které ti zůstanou po hard-resetu, jsou uloženy v ROM a vesměs mají právě zmiňovaný atribut -ash. Všechno se dá zjistit, jen musíš vědět jak na to, což je mimo rámec tohoto článku.

  • homi

    Ano,takto by to zdlouhave slo,ale jednoduseji ne? Opravdu neexistuje programek, kt.by zobrazil (nejlip graficky jako ten VisualDirSize) obsazeni pameti jednotlivymi programy? Pripadne by to mohlo byt tema na dalsi clanek.

  • VisualDirSize je prográmek pro PC (ne pro WM) a o podobném pro WM nevím, bohužel. Pokud na něco narazíš, dej vědět, budu rád.

  • crusader

    Zobrazit kolik program zabira v pameti ram, by mozna mohl umet program acbTaskMan, ale nevim to jiste mel sem ho nainstalovan jen kratce.

    Mel bych jeste jeden tip na uvolneni pameti. Kazdy nainstalovany soft uklada sve uinstal informace do slozky windows\AppMgr. Doporucuji presunout vse ze slozky na Storage Card a potom upravit zapis v registrech HKEY_LOCAL_MACHINE\Security\AppInstall. Bohuzel u kazde aplikace budete muset uprvit zapis samostatne.
    Jiste usetrene misto neni zas tak velke, ale pokud mate nainstalovano vice aplikaci muze to pomoct.

  • Díky za tipy. AcbTaskMan je fajný, ještě jsem ho úplně neprozkoumal, ale pro vývojáře a testery je fakt dobrý.
    Dík za přízeň …

  • Jirka

    Není to ani nesouhlas, ale malá ponzámka. Potýkal jsme se dlouho s tím, že mi mobil zvonil pzodě, když přicházel hovor. Měl jsem svonění na kartě. Přesun do paměti vše o dost zlepšil, takže přesun na kartu je sice vytvořením místa, ale zpomalením aplikace. Je to prostě řešení relativní a to je třeba mít na paměti.

Napsat komentář

Můžete použít tyto HTML tagy

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>