Te rog spune-mi de ce (și cum) pentru a închide:
- clasa SQLiteDatabase
- clasa Cursor (de altfel, cum să se comporte adaptor conectat la un cursor închis)
- derivate SQLiteHelper class
Care este practica de a folosi? În parte - obiect de deschidere / închidere. Poate că există o anumită secvență de închidere a acestor facilități?
Am mai multe clase pentru lucrul cu baza de date, dar, în unele cazuri, am folosit deschiderea șirului de baze de date de mai multe ori, ceea ce injuriile android. așa că vreau să întreb profesioniști, cum se face? Poate că există o abordare pe care eu pur și simplu nu știu.
Despre cursoare - acesta este recomandat să utilizați clasa CursorLoader. care gestionează complet ciclul de viață al cursorului, urmează deschiderea sa în timp util și de închidere, precum și lucrul cu ei într-un flux paralel care nailudshego impact asupra performanței aplicației.
În același timp, într-o astfel de clasă, puteți suprascrie metoda de prelevare a probelor de date pentru a scăpa de necesitatea de a introduce mai mult și ContentProvider. așa cum este necesar în implementarea standard.
Ce zici de închiderea bazei de date.
Într-unul, este foarte semnificativ, discuții, Diana Hakborn (Dianne Hackborn), nu ultima persoană în Google Android diviziune, a explicat tuturor cetățenilor interesați că conexiunea de date nu este necesară doar pentru a închide, dar este încă nu foarte bine - aproape această conexiune.
În cazul în care aplicarea / închiderea unei clase care utilizează conexiunea de date, colectorul de gunoi va distruge clasele de baze de date și totul va fi normal, în caz contrar, există orice lucruri care teribile.
În proiectele noastre, eu folosesc Realm și nu deranjează cu baza de date SQLite, nu a mai amintesc aceste clase helper, cursoare, de deschidere și de închidere. tot felul de împachetări și alte „de groază“. Toate rapid, foarte comod și ușor - pentru a lucra ca ORM (pe baza unor modele de clasă), dar este bază de date nativă, fără distanțiere și fără SQLite