我刚刚开始为android编程,一旦我的应用开始增长,我就开始问自己有关最佳做法的问题。
我有一个带有Room数据库的单一活动应用程序。 我有以下观点:
所有提到的视图基本上都需要访问数据库中的“产品”表。一个要求所有对象,另一个要求获取选定的ID,最后一个要求读取特定的列。
我所做的是创建一个产品视图模型,该模型在主要活动中具有作用域(因为我只有一个活动对象,所以它是全局作用域)。 打开的第一个视图将从数据库中加载产品,而随后的所有视图都可以从公共视图模型中轻松访问它们。
这种方法可以接受吗?这如何随数据库大小和多个表缩放?
我实际上是在应用程序的整个生命周期中将整个数据库加载到内存中,我真的不喜欢它。 另一种方法是为每个视图使用单独的视图模型(如基本示例中所建议),但是,假设用户在两个主视图之间来回切换,我将继续从数据库中获取和释放数据。 >
任何建议都将受到高度赞赏,因为我想在达到某些资源限制之前解决此问题=)
谢谢