android - java.lang.OutOfMemoryError : bitmap size exceeds VM budget 错误

标签 android

我正在使用 BitmapFactory 从文件中解码 JPG,然后用它设置 ImageViewimageBitmap。有时,应用会因“java.lang.OutOfMemoryError: bitmap size exceeds VM budget”而崩溃

我试过使用:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;
Bitmap bm = BitmapFactory.decodeFile(filepath, options);

它似乎工作了一段时间,但现在不行了。我能做什么?

最佳答案

在 Android 中,可以分配给应用程序的内存量有上限,大约在 16 MB 到 32 MB 之间。 (至Android版本)

对于 2 兆像素,位图所需的内存为 2 * 4 = 8 M。

要减少内存消耗,您需要降低图像分辨率。先说 WVGA,800x480

哈希

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

相关文章:

Android自定义 ListView 过滤器

android - 使用安卓设备摄像头的指纹扫描仪

java - 创建只能由一个应用程序读取的文件

c# - 安卓 JSON 安全

android - 无法运行由 NDK 编译的 x86 可执行文件

java - android.content.res.Resources$NotFoundException : String resource ID #0x2 Database

Android 附件/文件选择器到 InputStream 字符串

android - 每秒更新折线图

android - 存储 Android View 的变量(按钮、TextView 等)

android - 渐变 XML 可绘制中心不起作用