0

Я понимаю, что UncaughtExceptionHandler запускается на MainThread для обработки всех необработанных исключений. Я пытаюсь написать информацию о том, что нужно добавить в файл, но я должен делать это только в основном потоке. Я обеспокоен тем, что это может вызывать ANR на андроид, поскольку операции ввода-вывода относительно занимают время и дорогие операции.Android - UncaughtExceptionHandler: максимальное время для завершения его выполнения

Каков максимальный временной предел, который может ожидать главный поток при выполнении обработчика неперехваченных исключений?

ответ

0

Стандартное время ожидания ANR составляет 5 seconds. Если вы превысите это, пользователь получит диалог ANR. Вы должны иметь возможность написать небольшой файл за это время, но это не гарантия.

Если вы считаете, что ваша запись может занять больше времени, рассмотрите сериализацию исключения в Bundle и отправьте его в IntentService, который запускается в отдельном процессе, чтобы он мог выполнять свою работу, не блокируя основной поток основного процесса. (Это отлично работает, я это сделал.)

+0

Спасибо за ваш ответ. На другой день я пришел к такому же выводу. Спасибо :) – Blanc