Hirdetés
- Samsung Galaxy A54 - türelemjáték
- Megérkezett a Google Pixel 7 és 7 Pro
- iPhone topik
- Szerkesztett és makrofotók mobillal
- Milyen okostelefont vegyek?
- Komoly kihívót küldött a konkurenciára a Honor
- Tokgyártó leplezi le újból a Galaxy S26 Ultra formáját
- Motorola Edge 60 Fusion - nem csak a forma időtálló
- Amazfit Bip 6 - jót olcsón
- Honor Magic6 Pro - kör közepén számok
Ú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
- Playstation 4 Slim 1 TB kontroller 6 hó garancia, számlával!
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Samsung Galaxy Watch8 40mm, 1 Év Garanciával
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- HIBÁTLAN iPhone 15 Pro 128GB Natural Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS4226
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
)

