все зависит от того, что именно вы хотите сделать со своим изображением.bitmapfactory для создания растровых изображений.и рисуемые объекты используются, когда вы хотите что-то нарисовать:)
что вы хотите сделать с вашим растровым изображением после того, как вы создали его в памяти?
Что касается вращения, вы должны взятьзаботиться о onRestoreInstanceState и onSaveInstanceState.что-то вроде этого:
private static final String PHOTO_TAKEN = "photo_taken";
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
if (savedInstanceState.getBoolean(PHOTO_TAKEN)) {
// do something if you have your pic here
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putBoolean(PHOTO_TAKEN, mPhotoTaken); // saving the state of the image (if the photo is taken or not in this case)
}
что касается прохождения дополнений ... держу пари, это плохая идея, так как вы уже получаете исключение из памяти ... вы можете передать ссылку на это изображение, например, ID путиили что-то еще.
ОБНОВЛЕНИЕ:
В одном из проектов я пытался показать изображение, снятое с камеры, в элементе управления ImageView для моей деятельности и получил это исключение из памяти.причина была в том, что он помещал весь большой образ в память.Обходной путь был довольно простым: я уменьшил размер изображения:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap bitmap = BitmapFactory.decodeFile(mImagePath, options);