免费Android内存的最佳方式

时间:2011-11-28 23:18:12

标签: android memory

我一直在寻找解决方案,我找到了许多不同的意见来解决我的问题。

以下是我的应用正在做的事情:

  1. 它在数据库中进行搜索,并使用n图片组装n个屏幕。每张图片都是ImageButton,每张图片都有自己的图片,动作等,具体取决于数据库中存储的内容。

  2. 创建的屏幕被抛出ViewFlipper

  3. 有些项目有“孩子”。

    • 因此,如果用户点击带有“子”的ImageButton,它将搜索数据库,获取项目,使用带有来自数据库的信息的ImageButtons组装新屏幕。
    • 然后,将此(这些)新屏幕添加到ViewFlipper并保留来自呼叫者屏幕的参考,以便用户可以根据需要返回呼叫者屏幕。
  4. 根据数据库,只要ImageButton有“孩子”,它就会执行第3项。

  5. 很容易看到初始ViewFlipper会有很多屏幕。

  6. 我的华硕EEE Pad变压器完美无缺。但是,如果我尝试在我的Galaxy S中运行它(内存较少),如果我继续浏览屏幕,它最终会崩溃(缺少内存异常)。

  7. 在这种情况下,释放记忆的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

这可能并不容易,但如果你想节省内存 - 节省视图。而不是提前构建所有视图,只构建您需要的视图,并手动管理翻转。毕竟,你只需要一次显示一个图像,所以准备好,也许是之前的图像和快速翻转之后的图像,但是在需要之前不要准备其他所有图像。