应用变量的效率?

时间:2012-02-01 12:21:34

标签: android performance application-variables

我有一个数据库,我需要从中提取大量数据。 现在我在需要时获取数据,即我已经创建了一个处理数据库交互的类,并且每当活动需要数据时,它将为数据调用该类。因此,活动一次只有内存中的最小数据量(即它正在使用的数据)。但每次我更改活动时,我都必须执行数据库访问才能获取新活动的数据。

方法2

与此相反,我有另外一个选择,我在其中创建一个应用程序对象,然后在开始时执行数据库访问,然后将我需要的所有数据(在所有活动中)存储在应用程序对象中。每当我需要数据时,我都会引用应用程序对象。这样做的缺点是,我将持有太多额外的数据,而这些数据并非在特定时刻使用。

以上哪两种方法更好?

提前谢谢。

2 个答案:

答案 0 :(得分:0)

这取决于您的要求和优先级。如果解决方案2所需的时间太长,您无法接受然后进行优化(例如,通过使用方法2,但一般情况下我建议不要将所有数据库存储在内存中......假设内存量足够)。

您是否尝试过解决方案1.如果问题只是从数据库中读取数据,则加载一个活动的数据不会花费太长时间。如果涉及复杂的计算,您可能会被迫进行优化。但是为了以防万一,不要进行优化!

答案 1 :(得分:0)

我更喜欢第一种方法,因为除非多个应用程序访问数据库,否则调用数据库的成本并不高。