数据库在效率方面使用ArrayList和SQL建模

时间:2014-02-27 02:41:58

标签: android performance

我正在开发一个Android应用程序,它使用各种Java建模实体列表以及FileInputStreamFileOutputStream来存储和加载这些实体。

我的dataManager的平均复杂度为4*O(n^3),用于同时更新4个不同数据集的所有条目,其中每个操作在for上需要3个嵌套ArrayList,因为对象Palace包含Apartament列表,对象Apartament包含People

列表

由于我的方法,我可以在应用程序中明显放慢速度吗?

效率如何?如果我使用SQLite执行相同的操作?

1 个答案:

答案 0 :(得分:0)

在我看来,SQL会提供一些优势。

就效率而言,如果不讨论您持有的数据量,我无法告诉您哪一个更好(文件与数据库)。 2或3条记录与10,000条记录完全不同(甚至没有考虑嵌套级别)。

如果您正在使用文件,则必须手动将所有内容加载到内存中以访问对象,这意味着(大部分时间)完全加载文件并再次完全保存。

数据库允许您仅获取当前所需的信息,并且还允许您仅保存已修改的数据。