2012-04-05 69 views
3

我有一个关于什么是一个通用的Android应用程序用于显示静态和动态信息的最佳方法问题(持续性信息):逻辑数据库加载到内存中VS Android中

让我们想象一下用简单的应用程序一些持久集合和这些项目之间的一些关系:比如一个应用程序,显示飞行员车驾驶员的列表和喜爱的飞行员用户列表的列表。用户可以手动刷新试点或汽车配置文件,并且新数据必须持久保存

A)使用从数据库将相应的类和列表(例如)加载到逻辑类的机制,使用管理器访问它们PilotManager),并反映持续影响这些对象的变化,并且反映出数据库中的变化。这些对象在应用程序运行时保留在内存中。 B)直接使用数据库引擎,在每个时刻从那里恢复显示或工作所需的元素。例如,列出飞行员查询数据库并使用CursorAdapter列出它们。如果选择飞行员查询数据库中的汽车并显示其值。任何更改都会直接保存到数据库并从那里刷新。

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

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

回答

1

解决方案A是一个很好的方法,如果你需要一个游戏,当你需要一个好的性能和速度。

但是解决方案B适用于通常的应用,用户从一个活动转到另一个活动。另外解决方案B有利于节省内存(如果有很多对象,解决方案A中可能会出现内存错误)