【发布时间】:2012-10-12 18:01:48
【问题描述】:
我在 drawable-xhdpi 中有 15 个图像,每个都是 800x800,在 drawable-hdpi 我有相同的图像,但 600x600,当我在具有 hdpi 分辨率的设备上运行应用程序时,堆大小约为 3mb,但是当我运行时它在具有 xhdpi 分辨率的设备上堆大小超过 40mb 并且我内存不足? 怎么了?图片是否太大?
堆大小: ldpi : ~3mb mdpi : ~3mb hdpi : ~3mb xhdpi : ~40mb
这样加载图片:
b1 = BitmapFactory.decodeResource(getResources(), R.drawable.image);
imageview.setImageBitmap(b1);
then in OnBackPressed() b1.recycle()
【问题讨论】:
-
你能用
imageview.setImageResource(R.drawable.image)代替吗?这样您就不必担心回收位图。 -
我猜你需要分享更多关于你的应用的信息(你用这些图片做什么,一次显示多少等等),可能还有更多的代码来获得任何进一步。除非你到目前为止所展示的就是你所做的一切?
-
有15张图片*.png(透明),每张图片都位于前一张图片上,有点像堆栈。当我单击图像时,我将可见性更改为消失。就是这样;)每个xhdpi文件是80kB,hdpi:60kB
-
你找到任何解决方案了吗...我在我的应用程序中也面临同样的问题...您也可能想使用此在线工具显着减小 png 大小...tinypng.org
标签: android image memory memory-management drawable