我一直在寻找解决方案,我找到了许多不同的意见来解决我的问题。
以下是我的应用正在做的事情:
它在数据库中进行搜索,并使用n
图片组装n
个屏幕。每张图片都是ImageButton
,每张图片都有自己的图片,动作等,具体取决于数据库中存储的内容。
创建的屏幕被抛出ViewFlipper
。
有些项目有“孩子”。
ViewFlipper
并保留来自呼叫者屏幕的参考,以便用户可以根据需要返回呼叫者屏幕。根据数据库,只要ImageButton
有“孩子”,它就会执行第3项。
很容易看到初始ViewFlipper
会有很多屏幕。
我的华硕EEE Pad变压器完美无缺。但是,如果我尝试在我的Galaxy S中运行它(内存较少),如果我继续浏览屏幕,它最终会崩溃(缺少内存异常)。
在这种情况下,释放记忆的最佳方式是什么?
答案 0 :(得分:1)
这可能并不容易,但如果你想节省内存 - 节省视图。而不是提前构建所有视图,只构建您需要的视图,并手动管理翻转。毕竟,你只需要一次显示一个图像,所以准备好,也许是之前的图像和快速翻转之后的图像,但是在需要之前不要准备其他所有图像。