Как переработать растровое изображение в адаптере страницы с фрагментом? в андроид
Вот источник 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)