Утилизировать работу хорошо или нет? в onDestroy()

У меня есть вопрос об использовании моего растрового изображения в режиме просмотра изображений.

Я использую этот код для переработки изображения в режиме просмотра изображений.

drawable = imglist1.getDrawable();
    if (drawable instanceof BitmapDrawable) {
        BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
        Bitmap bitmap = bitmapDrawable.getBitmap();
        bitmap.recycle();
    }

Я называю это методом onDestroy

@Override
    protected void onDestroy() {
    super.onDestroy();
         ...
    }

Я имею в изображениях изображений (растровое изображение) при открытии новой деятельности (вызов onDestroy())

после открытия новой активности не видно изменений в памяти монитора Android.

Android-монитор

Android-монитор

Как можно контролировать, хорошо ли работает утилизация, или как можно уменьшить память?

Память это от большей части растровых изображений в изображениях.

Спасибо за идеи

1 ответ

Решение

После пометки растрового изображения как пригодного для повторного использования, оно будет освобождено только при выполнении GC. Здесь у вас есть больше информации: Android: Bitmap recycle () как это работает?

Но твой вопрос довольно неясен. Если вы перерабатываете растровые изображения в onDestroy, это не имеет смысла, потому что в onDestroy все представления будут освобождены, а также ссылка на растровое изображение, поэтому он будет GCed в следующем выполнении.

Вероятно, лучшим вариантом для вас является повторная выборка изображений. Ссылка, которую я разместил, содержит больше информации.

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