Moet ik de cursor na elk gebruik sluiten of kan ik hem open houden totdat het zicht is vernietigd?
Hangt ervan af. Als het cursorresultaat in de tussentijd niet verandert (bijvoorbeeld een externe verbinding die de DB wijzigt), dan is het OK. Vergeet niet CursorLoader
te gebruiken om Android uw cursor automatisch te laten beheren (bijvoorbeeld de cursor sluiten als uw app crasht).
En hetzelfde geldt voor de database, kan deze worden geopend zodra de activiteit met deze weergave is gemaakt en gesloten wanneer de activiteit wordt vernietigd?
Ja, u kunt openen in onResume()
en sluit in onPause()
callbacks, of wanneer u weet dat uw database niet meer zal worden opgevraagd.
Ik krijg continu de foutmelding 'close() is never expliciet aangeroepen in database...' als ik doe zoals hierboven beschreven.
Dit is alleen normaal als uw app crasht. Zou niet moeten gebeuren als je het doet zoals ik hierboven al zei.