Как переработать растровое изображение в адаптере страницы с фрагментом? в андроид

Вот источник PageF фрагмент, используемый в ViewPager & PageAdapter.

public class PageF extends Fragment {
    public static final String ARG_PARAM1 = "bitmap";

    public static PageF newInstance(int id) {
        PageF fragment = new PageF();
        Bundle args = new Bundle();
        args.putInt(ARG_PARAM1, id);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup  container,
         Bundle savedInstanceState) {
        return inflater.inflate(R.layout.preview_image, container, false);
    }

    @Override
    public void onViewCreated(View view, @Nullable final Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        ImageView imageView = (ImageView) view;
        Bitmap bitmap = BitmapFactory.decodeResource(
                getResources()
                , getArguments().getInt(ARG_PARAM1)
        );
        imageView.setImageBitmap(bitmap);
    }

}

Как я могу переработать это растровое изображение? иногда в некоторых устройствах это происходит из-за нехватки памяти.:(

1 ответ

Решение

Вам, вероятно, следует избегать создания растрового изображения самостоятельно.

Посмотрите на этот JavaDoc:

ImageView#setImageResource(int resId);

Это не предотвратит все ошибки Out of Memory(OOM)

Другие вопросы по тегам