Мне не удается найти конкретную информацию по устранению неполадок Исключения нехватки памяти для приложений RN, работающих на Android.Я получал сообщения об ошибках OOM на панели инструментов Bugsnag, которые кажутся подозрительными.
- Сбои происходят на экране входа в систему до того, как произойдет какая-либо тяжелая логика / рендеринг и т. Д.
- Заявленное использование памяти низкое (произошел один сбой при использовании приложением 3 МБ).Это может не включать в себя все, что используется в NDK, хотя после отправки электронной почты Bugsnag.
- Доступная память выходит далеко за пределы используемой памяти (хотя не включая то, что используется NDK)
Это неизолированы от старых устройств - произошел один сбой на Galaxy S9 с приложением, использующим 13 МБ (плюс NDK), и все еще доступным 255 МБ.
Я, конечно, пока включил LargeHeap, пока я занимаюсь расследованием, но явсе еще видят сбои с этим низким сообщенным использованием памяти.Единственное направление, которое у меня есть, - это проверка, использует ли RN встроенную память, которая не отображается как «использованная память» в моей консоли.
При профилировании моего приложения (с использованием варианта отладки APK, а не против разработки)сервер), я вижу, что использование встроенной памяти кажется высоким - 81 МБ, когда приложение просто некоторое время сидит после входа в систему. До входа оно колеблется в пределах 30-40 МБ.
Я гарантировал, что мой код не выполняет никаких вызовов API и не загружает ресурсы во время рабочего процесса сбоя.Вход в систему довольно прост, он состоит из градиента, некоторого текста и представлений и реакции-native-app-auth, загружаемых для обработки имени входа.Я не вижу всплеска при выполнении аутентификации в этой библиотеке.
Существуют ли какие-либо инструменты или методы для проверки того, почему RN потребляет так много собственного пространства?Или это просто нормально?Я в настоящее время на RN 0.57.5, Реакция 16.6.3.Я не могу проверить на устройствах iOs, чтобы убедиться, что это проблема для Android.