Új hozzászólás Aktív témák
-
thon73
tag
válasz
SektorFlop
#571
üzenetére
Sianis-nak: Igen, ez fontos észrevétel, nem gondoltam rá. Így már akkor is visszaáll az elejére, ha csak pl. megnézek külön egy rekordot, hiszen más Activity kerül előtérbe. Hm.
Ez a téma szerintem sokaknak okoz fejtörést. Honeycomb felett változott egyébként a megközelítés (és én még nem tartok ott), de sajnos, a konkrét probléma ettől még megmarad.
A probléma veleje: az Activity az onCreate-onStart-onResume metódusokon kersztül indul, és rendre az onPause-onStop-onDestroy metódusokon áll le. Ezek persze párban állnak, tehát ha csak az onPause-ig jut a leállás (más kerül az előtérbe), akkor az onResume ponton éled fel a program.
Ez azt jelenti, hogy az onCreate-ben megnyitott adatbázist az onDestroyban kellene bezárni. Ha előbb zárjuk be (pl. onPause), akkor visszatéréskor (onResume-tól kezdődik), nem lesz nyitott adatbázisunk (mivel a megnyitást végző onCreate nem kerül meghívásra!)
DE! ÉS ITT JÖN A BAJ! Az Android rendszer - ha fogy a memória - CSAK AZ ONPAUSE VÉGREHAJTÁSÁT GARANTÁLJA! Simán kihagyja az onDestroy-ban lévő zárást.
Az adapternek viszont végig szüksége van a nyitott adatbázisra, ill. a hozzá tartozó cursorra. Ezért jutottam oda, hogy a listát az onResume-ban kell lekérdezni és megalkotni, aztán az onPause-ban bezárni. Sianis-nak azonban igaza van, ezzel minden apró-cseprő dolog miatt újraépül a lista.Kérdések:
- lehet, hogy nem kell törődni az onPause utáni kényszerleállással? A vélemények szerint kell, saját tapasztalatom nincs (túl nagy a memóriám
)
- javítja-e a helyzetet, ha onPause-ban pl. a lista helyzetét is tároljuk?
- van-e valakinek precízebb ötlete?
- javasolják a singleton-t (Application-ból származtatva), ami járható út; így ugyanis a teljes Application (és nem Activity!) futás alatt nyitva marad az adatbázis (és a cursor). De honnét tudom, hogy véget ért a történet, és be kell zárni az adatbázist?Néha nem látom át, hogy milyen logika alapján képzelték el ezt az egészet. Igaz, én csak amatőrben játszom...
Új hozzászólás Aktív témák
- Kínai és egyéb olcsó órák topikja
- Óra topik
- Kicsi, USB-C, több protokollt támogató Xiaomi töltő jelent meg
- Amlogic S905, S912 processzoros készülékek
- Lightyear - befektetési app
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Megtartotta Európában a 7500 mAh-t az Oppo
- Samsung Galaxy Felhasználók OFF topicja
- Steam Deck
- Spórolós topik
- További aktív témák...
- ÚJ Gamer Ryzen 5 5500 / 16GB DDR4 / GTX 1660Ti 6GB / 512GB SSD
- GARANCIÁLIS! Lenovo IdeaPad Gaming 3 Ryzen 7 5800H, RTX 3050 Ti, 165Hz, 16GB RAM
- Ezzel fixen nem kell hunyorognod! 43"/4k/144Hz/HDR csak a tiéd!
- 2 ÉV GARANCIÁS Gigabyte GeForce RTX 4070 Windforce OC 12Gb videókártya eladó. Az ár NEM FIX
- Sapphire GPRO X070 8GB GDDR6 - RX 5700 XT passzív kaidás
- Vásárlunk iPhone 12/12 Mini/12 Pro/12 Pro Max
- GYÖNYÖRŰ iPhone 11 Pro 64GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3565
- Xiaomi Redmi Note 14 Pro+ 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7560 i9-11950H 64GB RAM 1TB SSD Nvidia RTX A3000 6GB 1 év gar
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
)
