Иногда просто установить растровое изображение или нарисованное для ImageView
на ноль недостаточно.Вам нужно будет явно переработать растровое изображение.
Для этого преобразуйте вашу переменную bitmap
в поле (глобальная переменная) и перезапустите ее при уничтожении.
public class MainActivity extends AppCompatActivity {
private Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
Во время загрузкирастровое изображение, загрузите, как показано ниже:
if(bitmap != null) bitmap.recycle();
bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
И, наконец, внутри onDestroy
, переработайте растровое изображение следующим образом:
@Override
protected void onDestroy() {
((PhotoView)findViewById(R.id.img)).setImageBitmap(null);
if(bitmap != null) bitmap.recycle();
super.onDestroy();
}