我知道此錯誤在stackoverflow上發生多次,但通常是位圖大小問題。我的不同。我有一個ListView與自定義適配器。這裏是我的getView方法:OutOfMemoryError:位圖大小超過虛擬機預算(不是圖像大小問題)
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);
}
}
現在,當我有前例。 100個單元格在我的listView和我滾動這個列表一段時間,最後我總是得到一個錯誤OutOfMemoryError:位圖大小超過VM預算 - 在DDMS中,我可以看到它發生在convertView.setBackgroundResource(...)被調用時。我的drawable是1x10px,並在Y軸上重複。
這是一種痛苦......我不時有這個問題.. –