Как предотвратить сбой Android из-за потребления памятиC#

Место общения программистов C#
Anonymous
Как предотвратить сбой Android из-за потребления памяти

Сообщение Anonymous »

Пытаясь воспроизвести проблему у клиента, я создал приложение для Android (на C# и Visual Studio), которое непрерывно выделяет память:

Код: Выделить всё

private List _test = new List();
private Timer _timer;

_timer = new Timer(timerCallBack, null, 10000, 3);

private void timerCallBack(object state)
{
_test.Add(new byte[1000000]);
}

Я пытаюсь перехватить закрытие приложения, чтобы выгрузить системный журнал (logcat), но мне это не удалось.
Через некоторое время, Android (14), кажется, убивает все существующие приложения и службы, включая пользовательский интерфейс, который перезапускается.
Знаете ли вы, есть ли способ перехватить такой сброс системы и сделать дамп системы? log?
Спасибо!
Я пробовал разные подходы, создавая службу внутри того же приложения или внутри другого приложения и пытаясь переопределить различные методы службы или активности: OnLowMemory, OnTaskRemoved и OnDestroy, Dispose, Finish, FinishAffinity, FinishAndRemoveTask и ReleaseInstance.
Но ни один из этих методов, похоже, не вызывается, когда Android «падает», убивая все приложения и службы и перезапустите пользовательский интерфейс.

Подробнее здесь: https://stackoverflow.com/questions/788 ... onsumption

Вернуться в «C#»