OutOfMemoryError:位图大小超过VM预算(不是图像大小问题)

时间:2011-07-29 07:25:44

标签: android listview memory adapter

我知道这个错误在stackoverflow上多次出现,但通常是位图大小问题。我的不同。我有一个带自定义适配器的ListView。这是我的getView方法:

public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
        convertView = inflater.inflate(R.layout.cell, null);
    }
    if (position % 2 == 0) {
        convertView.setBackgroundResource(R.drawable.cell_even_bg);
    } else {
        convertView.setBackgroundResource(R.drawable.cell_odd_bg);
    }
}

现在,当我有前任。我的listView中的100个单元格和我滚动此列表一段时间,最后我总是得到一个错误OutOfMemoryError:位图大小超过VM预算 - 在DDMS中我可以看到它在调用convertView.setBackgroundResource(...)时发生。我的drawable是1x10px并在Y轴重复。

1 个答案:

答案 0 :(得分:0)

我编写了一个包含100个单元格的测试应用程序来验证您的问题并发现它工作正常(滚动多次),没有OOM错误。 您的代码中必定存在其他内存泄漏。