【问题标题】:Grow heap (frag case) on GridView Android在 GridView Android 上增长堆(碎片案例)
【发布时间】:2014-04-16 08:41:33
【问题描述】:

所以我有一个 GridView,每个项目都有一个 TextView 和一个 ImageView。图像视图的可绘制对象正在由 res/drawable 文件夹解析。当我使用 getView() 方法(在我的自定义适配器上)时,我只是根据位置添加每个可绘制对象。 所以代码很像:

imageView.setImageResource(mThumbIds[position]);

这给了我一些 Grow Heap (frag case) 之类的:

Grow heap (frag case) to 13.800MB for 1166416-byte allocation
Grow heap (frag case) to 15.834MB for 1128016-byte allocation
Grow heap (frag case) to 17.829MB for 453616-byte allocation

我使用了 12 张图片(jpeg 文件),总大小为 1.6M

所以我根据 d.android.com 上的 load bitmap 文章更改了我的代码。 calculateInSampleSize 根据 jpeg 的大小,我得到了 1,2 或 4 的因子。 将这些值设置为 options.inSampleSize 我认为这足以减少我的堆大小,但我在我的 logcat 上收到了相同的 Grow Heap 消息!

也尝试了 inPurgeable 选项,但也没有用。

我仍然得到的是:

Grow heap (frag case) to 13.958MB for 1166416-byte allocation
Grow heap (frag case) to 15.834MB for 1128016-byte allocation

对此有何建议?我做错了什么?为什么options.inSampleSize 不能帮助我减少字节分配?

【问题讨论】:

    标签: android bitmap


    【解决方案1】:

    你需要回收你的位图图像..

    这可能对你有帮助

    How to recycle Bitmaps in gridview adapter?

    【讨论】:

      猜你喜欢
      • 2011-11-07
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2012-03-18
      • 2014-11-19
      • 2014-07-14
      • 1970-01-01
      相关资源
      最近更新 更多