как получить уведомление, когда система убивает мое приложение, чтобы освободить память? - PullRequest
0 голосов
/ 12 июня 2018

Я создаю приложение для обработки некоторых данных.когда процесс завершен, он показывает уведомление.если я нажимаю на уведомление через некоторое время после (тем временем выполняя какую-то тяжелую задачу) завершения процесса, оно вылетает.это связано с очисткой памяти Android, используемой приложением.Есть ли какой-нибудь метод / способ обратного вызова, чтобы получать уведомления, когда приложение Android закрывает приложение?

1 Ответ

0 голосов
/ 12 июня 2018

public void onLowMemory ()

Это вызывается, когда во всей системе недостаточно памяти, и активно запущенные процессы должны сократить использование памяти.Хотя точная точка, в которой это будет вызываться, не определена, обычно это происходит, когда все фоновые процессы были уничтожены.То есть до того, как мы достигнем точки уничтожения процессов, размещающих службу и пользовательский интерфейс переднего плана, которых мы хотели бы избежать.

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

Предпочтительно, вы должны реализовать ComponentCallbacks2.onTrimMemory (int) из ComponentCallbacks2, чтобы постепенно выгружать ваши ресурсы на основе различных уровней требований к памяти.Этот API доступен для API уровня 14 и выше, поэтому этот метод onLowMemory () следует использовать только как запасной вариант для более старых версий, который можно рассматривать так же, как ComponentCallbacks2.onTrimMemory (int) с уровнем ComponentCallbacks2.TRIM_MEMORY_COMPLETE.

вот документация:

https://developer.android.com/reference/android/app/Activity.html#onLowMemory()

...