0

现在我使用加密的共享首选项。有时应用程序无法加载或保存数据,并且在加密/解密过程中经常随机崩溃:(这就是为什么我正在寻找一种更好的方式来存储数据。我需要从多个加载/保存中立即访问存储的数据.

SQLite 数据库是更好的选择吗?SQLite 比 sharedpreferences 更稳定吗?

4

1 回答 1

3

这完全取决于您要存储的数据。

共享首选项

 1) Small data.
 2) Unstructured.
 3) Like login info, user prefs, etc.

SharedPreferences 是一个键/值存储,您可以在其中将数据保存在某个键下。要从存储中读取数据,您必须知道数据的键。这使得读取数据非常容易。但是,存储少量数据很容易,存储和读取大型结构化数据很困难,因为您需要为每个数据定义键,而且您无法真正在数据中搜索,除非您有一定的概念命名键。

SQLite

 1) Large data.
 2) Structured.
 3) Organized.

大量相同的结构化数据应存储在 SQLite 数据库中,因为数据库是为此类数据设计的。由于数据是由数据库结构化和管理的,因此可以使用 SQL 等查询语言对其进行查询以获取符合特定条件的数据子集。这使得在数据中进行搜索成为可能。当然,管理和搜索大量数据会影响性能,因此从数据库读取数据可能比从 SharedPreferences 读取数据要慢。

于 2013-09-10T09:39:01.800 回答