Как предотвратить сбой 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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