首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android,xhdpi - heap

android,xhdpi - heap
EN

Stack Overflow用户
提问于 2012-10-23 04:55:01
回答 1查看 346关注 0票数 2

我在drawable-xhdpi中有15个图像,每个都是800x800,在drawable-hdpi中我有相同的图像,但是600x600,当我在hdpi分辨率的设备上运行应用程序时,堆大小约为3mb,但当我在xhdpi分辨率的设备上运行它时,堆大小超过40mb,并且我得到了outofmemory?怎么啦?图片太大了吗?

堆大小: ldpi:~3mb mdpi:~3mb hdpi:~3mb xhdpi:~40mb

按如下方式加载镜像:

代码语言:javascript
复制
 b1 = BitmapFactory.decodeResource(getResources(), R.drawable.image);
 imageview.setImageBitmap(b1);

then in OnBackPressed() b1.recycle()
EN

回答 1

Stack Overflow用户

发布于 2012-10-23 05:12:37

这个问题以前已经被问过很多次了。加载位图时使用的实际内存是H x W x 4。800 * 800 *4* 15 =38MB。您不应该同时加载所有15个图像。因为它们的大小和屏幕差不多,所以重采样在这种情况下没有意义,你只需要弄清楚如何避免同时加载所有的重采样。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13019706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档