android - java.lang.OutOfMemoryError : bitmap size exceeds VM budget - android - how many images? 错误

标签 android memory image layout memory-management

<分区>

我正在开发一个 Android 应用程序,当我阅读所有内容并自学时,我不能同时在屏幕上显示很多图像,否则我会遇到异常。

问题是我可以在屏幕上同时拥有多少图像或多少 KB 图像或多少布局/图像。

我知道这不是唯一影响内存的东西,但我正在寻找一个数字,以便我可以围绕它进行计划。

谢谢

丹尼尔


编辑:

我刚刚在 android 开发站点 (http://developer.android.com/resources/articles/future-proofing.html) 上找到了这个

要避免的技巧,#3:过度布局

由于 View 渲染基础设施的变化,布局中不合理的深度(超过 10 个左右)或广泛(总共超过 30 个) View 层次结构现在可能会导致崩溃。对于过于复杂的布局来说,这始终是一个风险,但您可以认为 Android 1.5 比 1.1 更能暴露这个问题。大多数开发人员无需担心这一点,但如果您的应用程序具有非常复杂的布局,则需要节食它。您可以使用更高级的布局类(例如 FrameLayout 和 TableLayout)来简化您的布局。

我想这可能是我的问题。

当它说“广泛”时,它是在说最后一个层次吗?

谢谢

丹尼尔

最佳答案

这个答案有两部分

1) 不是屏幕有多少图像,而是在完成 Activity 时小心清理所有内容

2) ( Future-Proofing Your App )

要避免的技巧,#3:过度布局

由于 View 渲染基础设施的变化,布局中不合理的深度(超过 10 个左右)或广泛(总共超过 30 个) View 层次结构现在可能会导致崩溃。对于过于复杂的布局来说,这始终是一个风险,但您可以认为 Android 1.5 比 1.1 更能暴露这个问题。大多数开发人员无需担心这一点,但如果您的应用程序具有非常复杂的布局,则需要节食它。您可以使用更高级的布局类(例如 FrameLayout 和 TableLayout)来简化您的布局。

丹尼尔

关于android - java.lang.OutOfMemoryError : bitmap size exceeds VM budget - android - how many images? 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1955188/

相关文章:

android - 在路径 : DexPathList 上找不到类

Tomcat 服务器状态内存池

javascript - jQuery 图像交换未立即显示

css - 如何在 div 元素内垂直居中图像?

Android - ImageView 显示 "landscape"中图库中的图像

android - 无法在 Netbeans 上编译 Android hello world

java - 线程代码中的 NullPointerException 导致线程终止

java - 如何更改Android中溢出菜单的位置

windows - 设置 Windows 进程(或用户)内存限制

java - 循环登录的字符串会污染内存吗?