У меня есть приложение, в котором я использую ViewPager и устанавливаю на каждой странице «Фрагмент» изображение.
Когда я прокручиваю пейджер просмотра после изображения 25, оно выдает мне нехватку памяти, но я удаляю изображениекаждый раз переходите на следующую страницу.
проверьте код ниже:
public void destroyItem(View collection, int position, Object view) {
Log.d("**", "remove image");
((ViewPager) collection).removeView((ImageView) view);
} //method: remove item from pager adapter
Я попробовал код отсюда, чтобы удалить ImageView, но это не решило проблему:
private void unbindDrawables(View view) {
if (view.getBackground() != null) {
view.getBackground().setCallback(null);
}
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
unbindDrawables(((ViewGroup) view).getChildAt(i));
}
((ViewGroup) view).removeAllViews();
}
}
edit:
приведенный ниже код решит проблему, но я хочу использовать полный размер изображения и почему оно не удаляет изображение?
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2; //reduce image size