1

我需要一个建议。我正在创建一个具有多个列表活动的 android 应用程序。从列表中选择项目,导致另一个列表,并在从第二个列表中选择项目时,显示图像。所有数据(列表和图像)都来自网络服务器。我在 PHP 中创建了服务来将数据提供给 android 应用程序。我想尽可能地优化应用程序。我的问题是,更好的是,一次从服务器获取所有数据,或者在用户选择一个项目时只获取相关数据。

第一种方法(我能想到的)的优点是用户只需要第一次等待。加载数据后,应用程序将运行得更快,因为不会再调用服务器。负面的一点(我能想到的)是应用程序会消耗更多的内存。

为了使应用程序更高效和用户友好,我应该遵循哪种方法?

4

2 回答 2

1

根据我的建议,不要采用第一种方法(一次获取数据),因为假设您现在有少量数据,但如果您考虑未来,那么这会给您带来问题。因此,与其一次获取所有数据,不如在必要时进行。您还可以使用延迟加载的概念,以便您获得良好的结果。懒惰地获取数据将是这样做的好方法。

对于延迟加载,这里有一些资源:-

Android:为 Android Market 等 Endless List 实现进度条和“正在加载...”

ListView 中图像的延迟加载

在 Android 中的 Listview 上延迟加载图像(初级)?

所以我建议你在你的需求中使用 LazyLoading 概念。希望这可以帮助。

于 2012-10-17T10:27:30.300 回答
1

您应该观看 Reto Meier 的 Google IO 2012 演讲 - https://www.youtube.com/watch?v=PwC1OlJo5VM

在其中,他谈到了移动无线电,并解释了为什么一次获取所有数据会更好地延长电池寿命。这是一个很棒的演讲,值得一试。

除非您的列表视图中有大量数据,否则内存应该不是什么大问题。

于 2012-10-17T10:29:25.607 回答