Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
548 views
in Technique[技术] by (71.8m points)

android - SQLite or SharedPreferences for persistent data storage?

For persistent storage of data is there any distinct advantage of using a SQLlite database over SharedPreferences or vice versa? Currently my application data is only a couple of kilobytes in size, though it could conceivably rise to ten times that size in the future. I can't find anywhere that states how much storage is available using SharedPreferences but would imagine this would be one limitation of using it? Is there any difference in speed between the two methods? I'm looking to weigh up the pros and cons of those two storage methods.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Off the top of my head:

SharedPreferences:

Pro:

  • Lightweight
  • Quick and easy to use
  • Easy to debug
  • Config file can be edited by hand if need be

Con:

  • Slow when dealing with lots of data
  • Not helpful when the data is more than a simple key/value affair
  • Entire file needs to be read and parsed to access data
  • Takes up more space, each entry has a considerable amount of ASCII data around it, and all the data itself is ASCII too.

SQLite:

Pro:

  • Scales nicely
  • Changes don't require rewriting the entire data file from scratch
  • Powerful queries

Con:

  • More code to write
  • More heavyweight (code and memory), overkill when dealing with a little bit of data

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...