У меня есть операции A и B. Когда я запускаю активность B из активности A, я устанавливаю статическую битмап-переменную на активность B. Я показываю это растровое изображение на экране и поворачиваю его.Использование памяти не уменьшается даже при переработке растровых изображений
Когда действие B закончено, я перерабатываю все растровые изображения по методу onDestroy(), но использование памяти не уменьшается.
@Override
protected void onDestroy() {
super.onDestroy();
if (bitmap90 != null) {
bitmap90.recycle();
bitmap90 = null;
}
if (bitmap180 != null) {
bitmap180.recycle();
bitmap180 = null;
}
if (bitmap270 != null) {
bitmap270.recycle();
bitmap270 = null;
}
if (mBitmap != null) {
mBitmap.recycle();
mBitmap = null;
}
if (((BitmapDrawable) ivOriginal.getDrawable()).getBitmap() != null) {
((BitmapDrawable) ivOriginal.getDrawable()).getBitmap().recycle();
ivOriginal.setImageDrawable(null);
}
if (((BitmapDrawable) ivOriginal90.getDrawable()).getBitmap() != null) {
((BitmapDrawable) ivOriginal90.getDrawable()).getBitmap().recycle();
ivOriginal90.setImageDrawable(null);
}
System.gc();
}
Возможно, вы держите ссылку на свои растровые изображения где-то в другом месте. Обычно использование статических свойств не рекомендуется. Почему бы вам не сохранить ваши растровые изображения в файле, а затем прочитать его в своей активности B? –