2019. október 16., szerda

Gyorskeresés

Windows Phone 7 multitasking

Írta: | Kulcsszavak: WP7 . Windows Phone 7 . Microsoft

[ ÚJ BEJEGYZÉS ]

Megérkezett a Windows Phone 7 és azonnal el is kezdődtek az első értékelések, köztük a negatívumok elemezgetése is. Sokan értik félre azonban az egyik gyakran kritizált megoldást, a multitask működését.

Ennek elsődleges oka, hogy a klasszikus értelemben véve a több folyamat egyidejű futtatásának meghatározását, valóban nem nagyon beszélhetünk multitaskról a WP7 esetében. A második ok, hogy sok helyen (még nálam is) inkább egyszerűen leírják, hogy nincs vagy korlátozott, mint hogy kifejtsék a működését. Pedig tényleg van benne ráció.

Egy mai telefonban és operációs rendszerben a multitask több folyamat egyidejű futtatását jelenti, vagyis azt, hogy ami a háttérben van, az a memóriába kerül és futtathat is kódot, amíg nem használjuk, így például tud adatokat frissíteni, kommunikálni a külvilággal, esetleg használhatja a GPS modult. Ez nyilván sok memóriát (egy idő után egyre többet) és némi processzoridőt is igényel és ha túlmegy a felhasználó egy határon, drasztikusan belassul a rendszer.

Ez nem túl jó és ezen elgondolkodva a Microsoft fejlesztői más módon oldották meg az alkalmazások futását.

Lifecycle Management

Egy alkalmazás bármikor megszakítható, ha bejövő hívás érkezik vagy elindul egy másik program. A WP7 lehetőséget ad arra, hogy az alkalmazásokhoz a fejlesztők státuszokat rendeljenek. Két fő státusz van, a Pause és a Resume. Ha egy alkalmazás a háttérbe kerül, az operációs rendszer dönthet annak leállításáról is, így Pause lép érvénybe, vagyis megállított (Suspended) státuszba kerül. ilyenkor minden fontos paramétere mentésre kerül és a Resume utasítással újra feléled és előtérbe hozható (Running). ilyenkor visszakapja az előzőleg lefoglalt erőforrásait is.

Miért jó ez? Mert így erőforrást lehet megtakarítani azzal, hogy egy futó alkalmazás által foglalt erőforrás is felszabadítható. A hub alkalmazásai (email, naptár, zenelejátszó) így minden gond nélkül futhatnak a háttérben.

Miért nem előnyös? Mert például a Skype vagy a GPS-t használó alkalmazásoktól nem vehető el az erőforrás, mivel folyamatosan szükségük van rá a működésük során. Az úgynevezett background processing nem érvényesül, nem futhat kód a háttérben a telefonon.

Push

Az online kapcsolatot fenntartó közösségi alkalmazások, mint a Facebbok kliens, Twitter, HotMail számára a Microsoft egy szerviz használatát tette lehetővé, amelynek Push a neve. Ez nagyjából úgy működik, hogy nem a kliens szólítja meg bizonyos időközönként a szervert, hogy lekérjen adatokat, hanem a WCF-ből is ismert feliratkozási módszerrel úgymond regisztrálnak a szerveren és amikor változás történik, akkor a szerver szólítja meg az alkalmazást. Ez nyilván spórolás az erőforrásokkal egyfelől, másfelől viszont veszélyes lehet az akkumulátoridőre, ha a szerver állandóan megszólítja a klienst.

Összegezve

Szóval a kép nem fekete vagy fehér, mert van multitasking, viszont nem a hagyományos értelemben és módon. a WP7 a bevezetett módszerekkel valószínűleg példával szolgál a többi rendszer számára is (a Push-hoz hasonló dolog működik az iPhoneban is), mert ezekkel az eljárásokkal rengeteget spórolhat a telefon az akkumulátor felhasználás, processzor és memória kihasználás szempontjából.

Ami viszont fájó az, hogy mivel eddig az alkalmazások nem ezt az utat követték, nem futhatnak a háttérben a background processing tiltása miatt. Bizonyára lesznek majd köztes megoldások, de egyelőre ez a helyzet.

Hozzászólások

(#1) ntomka


ntomka
(veterán)

Ezen biztos sokat dolgoztak. Számos gyártó nem oprendszeres telója a java alkalmazásokkal pont így bánik (a push-t leszámítva). A legelsők között a Sony Ericssonok tudtak ilyet, ha jól emlékszem. :)

ツ Headphones on - World off

(#2) stevve válasza ntomka (#1) üzenetére


stevve
(nagyúr)

Valami nekem is rémlik, de meg nem mondom, hogy valóban melyek működnek így. :) Az viszont érdekes lehet, ha megoldják azt, hogy a mostani működésű (nem altatható) alkalmazások is "háttérbe tehetőek legyenek". Akkor lenne igazán jelentős.

(#3) Móci


Móci
(addikt)

Nem rossz ez, bár majd kiderül, hogy a gyakorlatban hogy fog működni a cucc.
Én azért bízom benne, hogy jó lesz a WP 7.

"...In a struggle to be happy and free, swimming in a primitive sea..."

További hozzászólások megtekintése...
Copyright © 2000-2019 PROHARDVER Informatikai Kft.