Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kā kapa šaujamieroču darbība darbojas mvvmcross


Kā kapa šaujamieroču darbība darbojas mvvmcross


Tombstonēšana MVVMCROSS attiecas uz ViewModel stāvokļa saglabāšanas un atjaunošanas procesu, kad lietojumprogramma tiek apturēta vai pārtraukta zemas atmiņas apstākļu dēļ, kas ir kopīgs scenārijs mobilajās platformās, piemēram, Windows Phone un Android. MVVMCROSS nodrošina mehānismus, kā efektīvi apstrādāt šo procesu.

Būvniecība un dzīves cikls

MVVMCROSS ViewModels tiek aktualizēts, izmantojot SOK konteineru, kas skata modelī ievada atkarības. ViewModel dzīves cikls MVVMCross ietver vairākas galvenās metodes:

- Būvniecība: ViewModel tiek izveidots ar atkarībām, kas ievadītas caur SOK konteineru.
- init (): inicializē ViewModel ar navigācijas parametriem.
- ReloadState (): atjauno skatuModeļa stāvokli pēc kapa vietas.
- start (): saukts, kad ir pabeigta inicializācija un rehidratācija [3].

Saglabāšanas stāvoklis

Kad lietojumprogramma ir kapa kapa, MVVMCROSS sauc par “SavestateToBundle” metodi ViewModel. Šī metode ļauj jums saglabāt sava skataModeļa stāvokli, glabājot datus `imvxbundle`. Kompleksu datu glabāšanai ieteicams izmantot JSON serializāciju [1].

Atjaunot stāvokli

Pēc lietojumprogrammas atkārtotas aktivizēšanas MVVMCROSS mēģina atjaunot ViewModel stāvokli. Tomēr precīza stāvokļa atjaunošanas metode var mainīties atkarībā no MVVMCross platformas un versijas. Kopumā “reloadstate” metode tiek izmantota, lai rehidrētu skatuModeli ar saglabāto stāvokli [3].

platformai raksturīgi apsvērumi

Katra platforma, ko atbalsta MVVMCROSS, savādāk rīkojas ar kapa vietu:

- Windows Phone: Tombstoning tiek apstrādāts, izmantojot tādus lapu pasākumus kā `onnavigatedto` un` onnavigatedFrom `. MVVMCROSS nodrošina mehānismus, kā ietaupīt un atjaunot stāvokli šo notikumu laikā, taču, lai nodrošinātu pareizu stāvokļa atjaunošanu, var būt nepieciešama papildu iestatīšana [4] [5].
- Android: MVVMCROSS apstrādā kapa vietu, saglabājot un atjaunojot ViewModel stāvokli, kad lietojumprogramma tiek apturēta vai atsākta. Tomēr jautājumi var rasties, ja aizmugure tiek notīrīta vai ja navigācijas parametri netiek pareizi saglabāti [6].

izaicinājumi un risinājumi

Darba kapa šaujaminiece MVVMCross var būt izaicinoša, it īpaši, ja navigē ar parametriem. Ir ļoti svarīgi saglabāt navigācijas parametrus kopā ar ViewModel stāvokli, lai nodrošinātu pareizu lietojumprogrammas stāvokļa atjaunošanu [6] [9]. Turklāt palīgu bibliotēku vai pielāgotu risinājumu izmantošana var vienkāršot stāvokļa saglabāšanas un atjaunošanas procesu dažādās platformās [5] [8].

Rezumējot, MVVMCROSS nodrošina stabilu ietvaru kapa apstrādei, saglabājot un atjaunojot ViewModel stāvokli. Tomēr, lai nodrošinātu nemanāmu lietojumprogrammu atgūšanu, tas prasa rūpīgu platformas niansu ieviešanai un apsvēršanai.

Atsauces:
[1] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[2] https://www.mvvmcross.com/mvvmcross-51-Release/
[3] https://stackoverflow.com/questions/29372480/mvvmcross-viewmodel-life-cycle
[4] https://stackoverflow.com/questions/16023307/mvvmcross-and-tombstoning
[5] https://www.kenneth-truyers.net/2013/03/13/tombstoning-made-easy-in-windows-phone-mvvm/
[6] https://github.com/mvvmcross/mvvmcross/issues/834
[7] https://github.com/mvvmcross/mvvmcross/blob/develop/changelog.md
[8] https://jesseliberty.com/2011/04/08/tombstoning-and-mvvm/
[9] https://github.com/mvvmcross/mvvmcross/issues/2458
[10] https://www.mvvmcross.com/mvvmcross-56-Release/