Mindannyian ismerjük a "multitasking = több folyamat egyidejű végrehajtásának képessége" leckét. Használjuk számítógépeinkben anélkül, hogy különösebben tudatában lennénk a jelenlétének. Egy-egy alkalmazás alkalmazásai vagy ablakai közötti váltás (számunkra) valós időben történik, és az operációs rendszernek ezt a képességét természetesnek vesszük.
Más a feladat
Az operációs rendszer kis időközönként allokálja a processzort az összes alkalmazáshoz. Ezek az időtartamok olyan kicsik, hogy észre sem vesszük őket, ezért úgy tűnik, mintha minden alkalmazás egyszerre használja a processzort. Azt gondolhatnánk multitasking iOS 4 rendszerben pontosan ugyanúgy működik. Nem így van. A fő ok természetesen az akkumulátor kapacitása. Ha tényleg az összes alkalmazás futna a háttérben, akkor valószínűleg néhány órán belül socketet kellene keresnünk.
A legtöbb iOS 4-gyel kompatibilis alkalmazás a Kezdőlap gomb megnyomása után „felfüggesztett módba” vagy alvó üzemmódba kerül. Egy analógia lehet egy laptop fedelének lecsukása, amely azonnal alvó üzemmódba kapcsol. A fedél kinyitása után a laptop felébred, és minden pontosan ugyanabban az állapotban van, mint a fedél lecsukása előtt. Ezenkívül vannak olyan alkalmazások, amelyeknél a Kezdőlap gomb megnyomásával leállnak. És ez alatt valódi felmondást értünk. A fejlesztők választhatnak, hogy ezek közül a módszerek közül melyiket használják.
De van egy másik alkalmazási kategória is. Ezek azok az alkalmazások, amelyek valóban a háttérben futnak, annak ellenére, hogy valami egészen mást csinálsz az iDevice-en. A Skype jó példa, mert állandó internetkapcsolatra van szüksége. További példák lehetnek a háttérzenét játszó alkalmazások (Pandora) vagy az olyan alkalmazások, amelyek állandó GPS-használatot igényelnek. Igen, ezek az alkalmazások akkor is lemerítik az akkumulátort, ha a háttérben futnak.
Aludni vagy lelőni?
Egyes iOS 4-kompatibilis alkalmazások, amelyeket a Kezdőlap gomb megnyomása után alvó üzemmódba kell helyezni ("felfüggesztett módba" kell tenni), továbbra is futnak a háttérben. Az Apple pontosan tíz percet adott a fejlesztőknek, hogy az alkalmazás elvégezze feladatát, bármi is legyen az. Tegyük fel, hogy egy fájlt tölt le a GoodReaderben. Hirtelen valaki fel akar hívni, és csak el kell fogadnia a fontos hívást. A hívás nem tartott tovább tíz percnél, vissza fog térni a GoodReader alkalmazáshoz. Lehet, hogy a fájl már le van töltve, vagy még mindig letöltés alatt áll. Mi van, ha a hívás tíz percnél tovább tart? Az alkalmazásnak, esetünkben a GoodReadernek le kell állítania a tevékenységét, és közölnie kell az iOS-sel, hogy el lehet aludni. Ha nem, akkor maga az iOS könyörtelenül leállítja.
Most már tudja, mi a különbség a "mobil" és az "asztali" multitasking között. Míg egy számítógép számára fontos az alkalmazások közötti váltás gördülékenysége és gyorsasága, a mobileszközök esetében mindig az akkumulátor élettartama a legfontosabb. A multitaskingot is ehhez a tényhez kellett igazítani. Ezért a cikk elolvasása után, ha kétszer megnyomja a Kezdőlap gombot, már nem a "háttérben futó alkalmazások sávja" jelenik meg, hanem lényegében csak a "legutóbb használt alkalmazások listája".
Szerző: Daniel HruškaForrás: onemoretap.com
hmm, érdekes :) Mindig azt hittem, hogy ez mindig hasonló ahhoz, ahogy Unix-on meg lehet csinálni. Ha az alkalmazáshoz nulla CPU-időt rendeltek, és a folyamat csak a memóriában van, minden erőforrás le van foglalva. ezért kétszer kellett megnyomnom a Home gombot, és azonnal le kellett állítanom az alkalmazást, hogy törölhessem. Tehát ez azt jelenti, hogy még ha van is egy alkalmazás ikon az alsó rejtett lapon, az alkalmazás még mindig be van zárva (10 perc után)?
Az alsó listában egyszerűen a legutóbb megnyitott alkalmazások találhatók, amelyek közül néhány továbbra is futhat, néhány fel van függesztve, néhány pedig teljesen leáll. Az alkalmazás kézi eltávolítása a listáról azzal a "mellékhatással" jár, hogy ha fut (vagy felfüggesztik), akkor leáll.
Az alkalmazásnak mondania kell magát arról a 10 plusz percről, és nem garantált, hogy megkapja.
Nos, ezzel nem szabadult meg a mániám, hogy bezárjam az alkalmazást a listáról (mi van, ha véletlenül felemészti az erőforrásokat, ugye? :-D)
Úgy tudom, hogy a 10 perc azokra az alkalmazásokra vonatkozik, amelyeknek a háttérben kell működniük, és nem tartoznak a "skype, GPS és zenelejátszás" kategóriába. Más alkalmazások felfüggesztett módba kapcsolnak, és addig maradnak a memóriában, amíg más dolgokhoz nem lesz szükség a memóriára.
A felfüggesztett módnak megvan az az előnye, hogy ha meg kell ölni az alkalmazást, akkor nem veszítjük el az adatait, a felfüggesztettre váltás pillanatában minden elmentődik.
vagy pl. lejátszás esetén a bg / fg parancs megfelelője
És mi a helyzet a háttérben bármennyi ideig futó lejátszóval vagy más alkalmazásokkal? Úgy értem, hogy "választhatok" fejlesztőnek, vagy ezt az Apple-nek kell jóváhagynia valahogy?
Ahhoz, hogy az alkalmazás valóban korlátlan ideig futhasson a háttérben, el kell végeznie (regisztrálnia) a következő műveletek egyikét:
– Helymeghatározó szolgáltatások (GPS) használata
- Zene lejátszása a háttérben
– VOIP (Voice over IP) használata
A cím szerint (betekintés a motorháztető alá) arra számítottam, hogy a cikk valamivel bővebb magyarázatot tartalmaz technikai részletekkel. Ez inkább perexnek tűnik a cikkhez. Ha perex, mikor lesz folytatás? Kaphat visszatérítést? :-)
és mit szeretnél részletesebben tudni?
Egy cikktől, amelynek címe "a motorháztető alatt" szerepel, részletes műszaki leírást várnék (a szerző elemezhetné például az alkalmazásváltás során felmerülő többletköltségeket, vagy a rendszererőforrásokhoz való egyidejű hozzáférés kezelését), összehasonlítást más modellekkel. (például egy jailbreakelt iPhone-nal). Ideális néhány méréssel alátámasztani. Egyszerűen sokkal többet vártam egy cikktől, aminek a címében az szerepel, hogy „a motorháztető alatt”, mint ez a nagyon felületes leírás.
Van olyan icq kliens, ami folyamatosan fut a háttérben, mint a skype, és nem szakítja meg a kapcsolatot?
az alkalmazásnak nem 10 perce, hanem 10 másodperce van, hogy felfüggesztési módba lépjen... és e folyamat során bizonyos részek „lefagyhatnak” a háttérszolgáltatásokon, amelyek közül néhányat már fentebb felsoroltunk – ezt nevezi az Apple „okosnak” " többfeladatos.... aztán a rendszer lelőtte
Az alkalmazás több időt igényelhet, ha valami letöltés, feltöltés vagy feldolgozás alatt áll. Semmi köze a GPS-hez, a VoIP-hez vagy a zenelejátszáshoz, amelyek korlátlan ideig futnak minimalista módban.