Сбои памяти (родной?) На Android React Native, низкое потребление памяти - PullRequest
0 голосов
/ 27 декабря 2018

Мне не удается найти конкретную информацию по устранению неполадок Исключения нехватки памяти для приложений RN, работающих на Android.Я получал сообщения об ошибках OOM на панели инструментов Bugsnag, которые кажутся подозрительными.

  • Сбои происходят на экране входа в систему до того, как произойдет какая-либо тяжелая логика / рендеринг и т. Д.
  • Заявленное использование памяти низкое (произошел один сбой при использовании приложением 3 МБ).Это может не включать в себя все, что используется в NDK, хотя после отправки электронной почты Bugsnag.
  • Доступная память выходит далеко за пределы используемой памяти (хотя не включая то, что используется NDK)

Это неизолированы от старых устройств - произошел один сбой на Galaxy S9 с приложением, использующим 13 МБ (плюс NDK), и все еще доступным 255 МБ.

Я, конечно, пока включил LargeHeap, пока я занимаюсь расследованием, но явсе еще видят сбои с этим низким сообщенным использованием памяти.Единственное направление, которое у меня есть, - это проверка, использует ли RN встроенную память, которая не отображается как «использованная память» в моей консоли.

При профилировании моего приложения (с использованием варианта отладки APK, а не против разработки)сервер), я вижу, что использование встроенной памяти кажется высоким - 81 МБ, когда приложение просто некоторое время сидит после входа в систему. До входа оно колеблется в пределах 30-40 МБ.

enter image description here

Я гарантировал, что мой код не выполняет никаких вызовов API и не загружает ресурсы во время рабочего процесса сбоя.Вход в систему довольно прост, он состоит из градиента, некоторого текста и представлений и реакции-native-app-auth, загружаемых для обработки имени входа.Я не вижу всплеска при выполнении аутентификации в этой библиотеке.

Существуют ли какие-либо инструменты или методы для проверки того, почему RN потребляет так много собственного пространства?Или это просто нормально?Я в настоящее время на RN 0.57.5, Реакция 16.6.3.Я не могу проверить на устройствах iOs, чтобы убедиться, что это проблема для Android.

1 Ответ

0 голосов
/ 25 июня 2019

вы пробовали это?

Добавьте это в "android / app / src / main / AndroidManifest.xml"

<application android:largeHeap="true"

ref: https://github.com/facebook/react-native/issues/6799

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...