Android - 本地数据库 (SQLite) 与内部数据库 类(通过单例)

Android - Local Database (SQLite) vs internal classes (through a singleton)

让我们考虑一下table:

想象一下,我们有一个像这样的 table 存储在我们 Android 设备的本地数据库 (SQLite) 中。 Android 据我所知,可以快速有效地管理数据库。

如何创建一个名为 PeopleLab 的单例,它遍历 table 中的每一行创建相应的 class、 Person,用 table 的属性填充它的属性?在这个特定的例子中,我们将有 11 Person classes 全部由 PeopleLab 单例管理。

我想知道,什么效率更高? (即耗时更少,资源消耗更少,带来更好的用户体验)。使用 CursorAdapter 访问本地数据库,或访问单例 PeopleLab?

编辑:

如果我们有(比方说)100 行而不是 11 行,每行包含(比方说)100 个属性而不是 6 个,答案会改变吗?

我为什么要问这个?

我在一个 Android 项目中工作,我需要连接到远程数据库并将其所有内容复制到本地数据库(使用 SQLite)。这个过程应该每天重复近 10 次,因为远程数据库经常更改其内容。

在开始编写代码之前,我想知道创建本地数据库和单例(以及所有相应的 classes 是否有任何真正的好处 ).我的第一个想法是 Android 管理 classes 比查询本地数据库数据更快。这就是使用 Singleton 的意义所在。

谢谢。

My question is: is there any real benefit "copying" the local database's contents to a singleton, and using that singleton instead of a CursorAdapter? Do we have gain any performance improvement?

可能充其量是最小的。 CursorAdapter 很可能会将数据直接发送到视图中,但也必须将数据复制到该行的某处,这是您的单身人士会做的。而且您编写它的效率可能低于 Android SDK 版本,后者已经经历了多次迭代。同样,收益将很小(在 CursorAdapter 一侧),所以不要让这影响您的设计和实现。随心所欲。降低你的处理能力是件好事,但在现代设备上,这种担忧几乎不存在。