【问题标题】:Logic loaded in memory vs in the database in AndroidAndroid中加载到内存中的逻辑与数据库中的逻辑
【发布时间】:2012-04-05 20:31:16
【问题描述】:

我有一个关于通用 Android 应用显示静态和动态信息(具有持久信息)的最佳方法是什么的问题:

让我们想象一个简单的应用程序,其中包含一些持久性集合以及这些项目之间的一些关系:例如,一个显示pilots列表的应用程序、car Pilots列表和一个用户最喜欢的飞行员列表。用户可以手动刷新飞行员或汽车配置文件,新数据必须永久保存

A) 使用机制将相应的类和列表(例如)从数据库加载到逻辑类中,使用管理器访问它们(例如 PilotManager)并反映持续影响这些类的更改对象,并同时反映数据库中的变化。这些对象在应用程序运行时保留在内存中。

B) 直接使用数据库引擎,随时从那里恢复显示或工作所需的元素。例如列出 pilots 查询数据库并使用 CursorAdapter 列出它们。如果选择了飞行员,则查询他的汽车的数据库并显示其值。任何更改都会直接保存到数据库并从那里刷新。

我通常使用方法 A),因为它非常快速地授予用户在交互中的高响应性,因为(除了第一次加载)不需要数据库访问。 但有朋友告诉我,B) 更好,因为你使用的内存更少,而且你可以利用数据库引擎来处理复杂的搜索过滤器。

这两种方法都有效吗?有人错了吗?谢谢!

【问题讨论】:

    标签: java android sqlite business-logic


    【解决方案1】:

    如果您需要良好的性能和速度,则解决方案 A 非常适合您做游戏之类的事情。

    但解决方案 B 适用于用户从一项活动转到另一项活动的常规应用程序。解决方案 B 也有利于节省内存(如果您有很多对象,您可能会在解决方案 A 中遇到内存错误)

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 2015-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多