2

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

方法二

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

以上两种方法哪个更好?

先感谢您。

4

2 回答 2

0

这取决于您的要求及其优先级。如果解决方案 2 所需的时间太长而您无法接受,则进行优化(例如,使用方法 2,但总的来说,我建议您不要将所有数据库都存储在内存中……假设内存量足够)。

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

于 2012-02-01T12:28:37.330 回答
0

我更喜欢第一种方法,因为调用数据库并不昂贵,除非它被多个应用程序访问。

于 2012-02-01T12:29:53.457 回答