Мое приложение убивается с помощью OOM, но методы onTrimMemory не называются
Я использую Fresco для кэширования изображений, потому что у меня много изображений на устройствах 4.4, мое приложение убивается с помощью OOM.Я попытался переопределить методы, такие как onTrimMemory (), из обеих Активов, которые отображают изображения, и класса Приложения, где я пытаюсь очистить кеш, чтобы избежать OOM, но мое приложение все еще падало.После этого я попытался настроить журналы в этих методах и заметил, что, хотя мое приложение аварийно завершает работу, эти методы не называются
Не так много кода, чтобы показать:
override fun onTrimMemory(level: Int) {
Timber.d("GalleryActivity onTrimMemory %s", level)
if (level == ComponentCallbacks2.TRIM_MEMORY_RUNNING_LOW) {
Fresco.getImagePipeline().clearCaches()
}
}
Яделать что-то не так или я не так понимаю?Разве эти методы не должны вызываться, когда приложение занимает слишком много памяти?
Есть ли способы решить эту проблему?Спасибо
Обновление, вот как выглядит журнал:
на android.graphics.Bitmap.createBitmap (Bitmap.java:913) на android.graphics.drawable.VectorDrawable $ VectorDrawableState.createCachedBitmapIfNeeded(VectorDrawable.java:834) на android.graphics.drawable.VectorDrawable.draw (VectorDrawable.java:318) на android.graphics.drawable.LayerDrawable.draw (LayerDrawable.java:916) на com.facebook.drawee.drawable.ForwardingDrawable.draw (ForwardingDrawable.java:185) на com.facebook.drawee.drawable.ScaleTypeDrawable.draw (ScaleTypeDrawable.java:123) на com.facebook.drawee.drawable.FadeDrawable.drawDrawableWithAlpha на fadeD.facebook.drawee.drawable.FadeDrawable.draw (FadeDrawable.java:289) в com.facebook.drawee.drawable.ForwardingDrawable.draw (ForwardingDrawable.java:185) в com.facebook.drawee.generic.RootDrawable.draw (RootDrawable.draw (RootDrawable.draw (RootDrawable.draw.java: 81)