Ответ 1
используйте recycle();
в конце вашего оператора obtainTypedArray()
.
не используйте значения hex
, могут привести к осложнениям в вашем коде в будущем.
Мой код показывает это предупреждение:
Typed Array следует перерабатывать после использования С#recycle() для полученногоTypedArray
код:
public View getView(int i, View view, ViewGroup viewgroup)
{
ImageView imageview;
if (view == null)
{
imageview = new ImageView(b);
imageview.setLayoutParams(new android.widget.AbsListView.LayoutParams(110, 110));
imageview.setPadding(1, 1, 1, 1);
imageview.setAdjustViewBounds(false);
imageview.setScaleType(android.widget.ImageView.ScaleType.CENTER_CROP);
} else
{
imageview = (ImageView)view;
}
imageview.setImageResource(a.getResources().obtainTypedArray(0x7f050000).getResourceId(i, -1)); //*warning*Typed Array should be recycled after use with #recycle()
return imageview;
}
используйте recycle();
в конце вашего оператора obtainTypedArray()
.
не используйте значения hex
, могут привести к осложнениям в вашем коде в будущем.
Вы должны удержаться на TypedArray
, который вы вернетесь из obtainTypedArray()
, и вызовите recycle()
на нем после его использования.
Кроме того, жесткое кодирование шестнадцатеричного значения, такого как 0x7f050000
, вряд ли будет правильным ответом.