我知道这个错误在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轴重复。
答案 0 :(得分:0)
我编写了一个包含100个单元格的测试应用程序来验证您的问题并发现它工作正常(滚动多次),没有OOM错误。 您的代码中必定存在其他内存泄漏。