【发布时间】:2012-09-25 00:42:31
【问题描述】:
我想在我的应用程序中使用一个 .png 文件。这张图片相当大,大约 328x32765 像素,大小为 751KB,位于我的 res 文件夹中。我在尝试将此图像设置到我的布局中时收到“java.lang.OutOfMemoryError:位图大小超出 VM 预算”的错误消息。
我不确定它是否相关,但我在同一页面上也有大约 730 个按钮,可以加载并正常工作,但我认为这些按钮可能也占用了大量内存?
无论哪种方式,是否有一个简单的修复方法可以帮助解决此问题或使我的 .png 图像使用更少的内存?
【问题讨论】:
-
为什么图片那么高?用户应该能够上下滚动吗?如果是这样,您可能想尝试将其切成更小的切片,并将它们放入列表视图中,然后它将仅加载可见切片。
-
我认为列表视图可能是一个很好的解决方案,唯一的问题是这对我来说需要大量的工作,我只是为一个非常紧张的朋友免费制作一个应用程序日程。所以我可能不得不寻找更简单的选择。
-
@user753964,考虑到您将花费大量时间进行研究、反复试验。我认为 ListView 将成为您的救星和节省时间。实现它的行数不到 20 行——相当少。
-
我想我对实现这个方法的保留是我在页面上有很多与我的滚动视图一致的其他布局,所以虽然实际的实现相当简单,但它的变化更大的影响在我的应用程序上多一点。但无论如何我可能最终会使用这种方法,如果没有,我知道下次使用它。感谢您的回复!
标签: android imageview out-of-memory