Leállítása és újraindítása a tevékenység
Helyes és indítsuk újra a tevékenység lényeges folyamat tevékenység teljes életciklusa alatt. amely a felhasználók az érzést, hogy az alkalmazás mindig életben van, és nem veszíti el. Van néhány kulcsfontosságú forgatókönyvet, amelyben a tevékenység leállítása és újraindítása:
Aktivitás osztálya biztosít két életciklus-módszerrel, onStop () és onRestart (). amelyek lehetővé teszik a különleges feldolgozást hogyan tevékenység leállítása és újraindítása. Ezzel szemben az állam a szuszpenziót, ami azt jelenti, részleges átfedés elemeit a felhasználói felület, az állam a megállás vgarantiruet, hogy a felhasználói felület már nem látható, és a felhasználó hangsúly a különböző aktivitást (vagy egy teljesen más alkalmazás).
Megjegyzés: .. Mivel a rendszer tartja a tevékenység például a rendszer memóriájában, amikor leállt, akkor lehetséges, hogy nem kell végrehajtani onStop () és onRestart () (vagy akár onStart () metódus egyáltalán legtöbb aktivitással, amely viszonylag egyszerű, a tevékenység ez leállítása és újraindítása teljesen normális, és lehet, hogy csak onPause (), hogy szüneteltesse a jelenlegi cselekvési és lekapcsolása a rendszer erőforrásait.

1. ábra: Amikor a felhasználó elhagyja az Ön tevékenységét. rendszer kéri onStop (), hogy hagyja abba a tevékenységet (1). Ha a felhasználó visszatér megáll a tevékenységet. rendszer kéri onRestart () (2), majd gyorsan onStart () (3) és onResume () (4). Megjegyezzük, hogy függetlenül attól, hogy melyik forgatókönyv, hogy hagyja abba tevékenységét. rendszer mindig okoz onPause () előtt onStop () hívást.
Megáll a tevékenység
Ha a tevékenység hívást kap onStop () metódus, semmi látható, és van, hogy engedje szinte az összes erőforrást, amelyek nem szükségesek, amíg a felhasználó nem használja őket. Miután a tevékenység befejezése után a rendszer képes elpusztítani az esetben, ha szükség van, hogy visszaállítsa a rendszer memória. Szélsőséges esetekben a rendszer egyszerűen megölik a folyamat alkalmazások anélkül, hogy a végső onDestroy () callback módszer, ezért nagyon fontos, hogy onStop () az erőforrások felszabadítása, ami a memóriavesztés.
Annak ellenére, hogy onPause () metódus előtt onStop (). akkor kell használni onStop (), hogy végre nagyobb és igényesebb vége műveletek, mint például a felvétel az információt az adatbázisba.
Például, itt van a megvalósítása onStop (). amely tárolja a tartalmát a tervezet megállapítja, hogy tartós tárolás:
Megjegyzés: Még ha a rendszer összeomlik a tevékenység. Amikor megállt, ő továbbra is megtartja a helyzetét megtekintése tárgyak (pl szöveget EditText) Bundle (a folt a kulcs-érték párok), és visszaállítja őket, ha a felhasználó megy vissza ugyanazt a tevékenységet példány (a következő leckében magyarázza meg többet a Bundle állapotának mentése más adatokat, ha a tevékenység megsemmisül, és újra létre).
Start / Indítsa újra a tevékenység
Ha a tevékenység visszatér az élen álló helyzetből, a hívás fogadása onRestart (). A rendszer is okoz onStart () metódust, ami történik, minden alkalommal, amikor a tevékenység válik láthatóvá a felhasználó (akár újra vagy objektum jön létre az első alkalommal). onRestart () módszer, azonban ez csak akkor aktiválódik, ha a tevékenység folytatása a leállított állapotban, így tudod használni a speciális helyreállítási munkát, amelyre szükség lehet, ha a tevékenység korábban megállt, de nem pusztult el.
Ritka, hogy egy alkalmazás kell használni onRestart () helyreállítani a gazdasági aktivitás. úgyhogy nincsenek iránymutatások ezt a módszert kell alkalmazni a legtöbb esetben. Azonban, mivel a Ön onStop () metódus az volt, hogy jelentősen tisztítsák meg az összes erőforrás a tevékenység. akkor kell újra létrehozni őket, ha vbudet reboot. Ugyanakkor azt is meg kell létrehozni erőforrás esetekben, amikor a munka jön létre az első alkalommal (amikor már van egy példánya aktivitás). Emiatt akkor általában használ onStart () callback eljárás kiegészítéseként onStop () módszer, mert a rendszer onStart (), amikor létrehozza az aktivitást. és amikor tevékenység újraindításakor a megállított állapotban.
Például, mivel A felhasználó távol volt az alkalmazás hosszú ideig, mielőtt visszatérünk rá, onStart () metódus egy jó hely, hogy megbizonyosodjon arról, hogy a szükséges funkciókat a rendszer tartalmazza: