Android位图解码A

Posted

技术标签:

【中文标题】Android位图解码A【英文标题】:Android bitmap decodingA 【发布时间】:2011-02-24 21:16:53 【问题描述】:

我正在尝试使用 api 解码像素大小为 1024*683 的位图 decodefile(filepath) 但进程在解码时内存不足 图片。

我需要此图像的位图对象,无需任何缩放 因为我必须使用 NDK 使用此位图读取像素值。 因此,在我的情况下,不能应用任何缩放或采样方法。

我想知道为什么只用解码一个文件是可能的 这样的大小将需要任何内部方法。有足够的堆大小 可用于此过程。

您对此事的意见和观点将不胜感激。

谢谢 纳瓦布

【问题讨论】:

【参考方案1】:

当我的一项活动出现内存泄漏时,我也遇到了同样的问题。不仅有视图泄漏,还有位图泄漏。当 DDMS 显示可用堆空间时,不考虑位图消耗的内存。

【讨论】:

目前我已经通过将虚拟设备中应用程序的堆大小增加到 16MB 来解决这个问题。我不确定它是否是单个应用程序的最佳堆大小。但是通过这样做,我能够解决这个问题。 这不是一个好主意,因为有些设备仍然有 16MB 的堆空间。 是的,你是对的......但关键是我的应用程序不适合堆内存非常低的手机。但我仍然会寻找一些方法来避免在给定时刻如此程度地利用堆来解码这种大小的位图。 这不是一个大的位图。我的应用程序适用于相同大小的位图,并且它永远不会因 OOM 崩溃。我建议您使用 Memory Analyzer for Eclipse。这是一个很棒的工具,可以帮助您发现应用程序中的内存泄漏和内存消耗开销。

以上是关于Android位图解码A的主要内容,如果未能解决你的问题,请参考以下文章

Android 位图到 Base64 字符串

在android中显示图像使用位图的延迟

将位图添加到视频中

Xamarin:Android - 带有大位图的OutOfMemory异常 - 如何解决?

如何获取位图信息,然后从 internet-inputStream 解码位图?

解码后的位图字节大小?