Vývoj Metro aplikácií pre Windows 8: 3 diel – životný cyklus

Životný cyklus nových “metro” aplikácií pre Windows 8 je úplne odlišný. Ak by sme ho chceli maximálne zjednodušiť a popísať jednou vetou: Zatiaľ čo pri klasickej Windows aplikácii o tom kedy aplikácia beží a kedy bude ukončená rozhoduje používateľ, pri METRO aplikáciách pre Windows 8 o tom rozhoduje systém.

Aplikácia sa môže nachádzať v jednom s troch stavov:

  • Running
  • Suspended
  • Terminated

Možnosti prechodov medzi stavmi názorne ukazuje diagram na obrázku

Ako rozhoduje systém o behu aplikácie? Funguje to nasledovne (je to vlastne voľné “prerozprávanie” hore uvedeného stavového diagramu)

  • Systém pozastaví metro aplikáciu, kedykoľvek sa užívateľ prepne na inú aplikáciu alebo na plochu.
  • Systém obnoví aplikáciu keď sa používateľ prepne späť.
  • Po obnove bude obsah premenných a dátových štruktúr rovnaký pred pozastavením aplikácie.
  • Systém by mal obnoviť aplikáciu presne tam, kde bola prerušená, takže sa to celé navonok javí ako keby bola medzitým spustená na pozadí. Aby aplikácia takto fungovala, musí programátor vytvoriť kód pre obsluhu udalostí prechodov medzi stavmi.

Stav “running”

Do tohto, z hľadiska funkcionality kľúčového stavu sa môže aplikácia dostať z dvoch východiskových stavov. Buď sa reaktivuje zo stavu “suspended”, teda aplikácia už bola predtým spustená, alebo sa zavedie do WinRT a spustí. Tento proces nastane vtedy ak aplikácia ešte nebola spustená, alebo bola v stave “suspended” odstránená z pamäti, napríklad pre nedostatok pamäťovej kapacity. Pri spúšťaní aplikácie sa zobrazí úvodná obrazovka, ktorú používateľ vidí počas inicializácie hlavných úloh, ktoré tvoria aplikáciu. Ako náhle sú všetky hlavné úlohy inicializované, úvodná obrazovka sa zatvorí a zobrazí sa používateľské rozhranie aplikácie.

Stav “suspended”

Keď používateľ presunie aplikáciu na pozadie, napríklad prejde na obrazovku Start, prípadne gestom “swipe” prepína medzi aplikáciami, alebo zariadenie na ktorom aplikácia beží prejde do úsporného stavu aplikácia sa sama pozastaví. Medzi stavom “running” a “suspended” je zaujímavý prechodový stav, kedy je aplikácia už na pozadí, no systém ešte 10 sekúnd čaká, aby sa ubezpečil, že používateľ nechce prejsť späť do aplikácie okamžite. Až po uplynutí tohto časového intervalu systém automaticky presunie aplikáciu do úsporného režimu. Počas prechodu môže aplikácia napríklad uložiť neuložené dáta do úložného zariadenia. Na toto uloženie dát má maximálne 5 sekúnd. Aplikácia v stave “suspended” je síce zavedená v pamäti, no v tomto stave nemôže vykonávať žiadnu činnosť.

Podľa toho, koľko má systém k dispozícii pamäťovej kapacity, systém sa snaží udržať pozastavené aplikácie v pamäte, čím zabezpečí, že používateľ môže rýchlo prejsť späť do aplikácie. Vo verzii Consume Preview je možné aplikáciu ukončiť kontextovým menu myši, alebo jej uchopením v hornej časti a “zhodením” dole. Aplikácia sa najskôr suspenduje a potom ukončí. Inak aplikácia zostáva uložená v pamäti tak dlho, pokiaľ má systém k dispozícii dostatok pamäti. Ak začína byť dostupnej pamäti nedostatok, systém na tento stav reaguje tak, že automaticky odstráni nepoužívané aplikácie z pamäte. Systém aplikácii neoznámi, že ju ukončuje, preto je potrebné spracovať neuložené dáta počas prechodu do stavu “suspended”.

Prechodový stav “resuming”

Aplikácia sa prenesie z pamäti do popredia. Počas prechodu môže načítať údaje, ktoré boli uložené počas pozastavenia.

Reklamy

Značky:

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Odhlásiť sa / Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Odhlásiť sa / Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Odhlásiť sa / Zmeniť )

Google+ photo

Na komentovanie používate váš Google+ účet. Odhlásiť sa / Zmeniť )

Connecting to %s


%d bloggers like this: