2011-02-05 7 views
11

Per la memorizzazione persistente dei dati esiste un netto vantaggio dell'utilizzo di un database SQLlite su SharedPreferences o viceversa? Attualmente i miei dati di applicazione sono solo di un paio di kilobyte di dimensioni, anche se potrebbe in futuro raggiungere dimensioni dieci volte superiori. Non riesco a trovarlo da nessuna parte che indichi quanto spazio di archiviazione sia disponibile usando SharedPreferences ma immaginerei che questa sarebbe una limitazione nell'usarlo? C'è qualche differenza di velocità tra i due metodi? Sto cercando di valutare i pro e i contro di questi due metodi di archiviazione.SQLite o SharedPreferences per l'archiviazione permanente dei dati?

risposta

26

Fuori della parte superiore della mia testa:

SharedPreferences:

Pro:

  • leggeri
  • rapida e facile da usare
  • facile per eseguire il debug
  • file di configurazione possono essere modificati a mano se necessario

Con:

  • lento quando si tratta di un sacco di dati
  • Non utile quando i dati sono più di una semplice chiave/valore affare
  • L'intero file deve essere letto e analizzato per accedere ai dati
  • Prende più spazio, ogni voce ha una quantità considerevole di dati ASCII attorno ad esso, e tutti i dati relativi f è anche ASCII.

SQLite:

Pro:

  • Bilancia ben
  • modifiche non richiedono riscrivere l'intero file di dati da zero
  • potenti query

Con:

  • Più codice per scrivere
  • più pesante (codice e memoria), eccessivo quando si tratta di un po 'di dati
+0

dove posso trovare maggiori informazioni su sharefprefs essere lento quando si ha a che fare con molti dati e l'intero file che deve essere analizzato per accedere ai dati? Penso che stiamo affrontando questo problema e sto cercando di capire come funziona il sistema (pianificando di passare a SQLite). –

Problemi correlati