Ниже описан процесс воспроизведения ошибки.
Это происходит в моем проекте v0.29, но я только что протестировал новый на v0.33, и он ведет себя так же.
Когда приложение запущено, нажмите кнопку «Домой» устройства/симулятора и откройте приложение, щелкнув значок на рабочем столе. Здесь происходит следующее: приложение снова перезапускает монтирование компонента, не размонтировав его ранее, что приводит к нескольким случаям приложение работает, если вы делаете это много раз.
Затем, если вы нажмете кнопку возврата устройства, он убьет и, таким образом, размонтирует верхний экземпляр, позволяя вам использовать предыдущий, пока последний не будет размонтирован, и он перейдет на рабочий стол.
После этого, если вы выйдете из приложения, как вы это делали изначально, нажав кнопку «Домой», и откроете его, щелкнув значок на рабочем столе, это не перезапустит приложение, установив его снова, с этого момента оно будет вести себя правильно. Точно так же, если после первого запуска приложения вы выходите из него с помощью кнопки «Назад», после этого кнопка «Домой» будет вести себя правильно.
Таким же образом, если вы реализуете такой пакет, как react-native-activity-android, чтобы избежать уничтожения приложения при нажатии кнопки «Назад», вы получите несколько запущенных приложений.
Я не знаю насчет андроида, что происходит, когда приложение убивается, что после этого, если вы отправляете приложение в фоновый режим с помощью кнопки «Домой», оно работает правильно?
Любые идеи, как решить эту проблему, поэтому отправка приложения в фоновый режим и его повторное открытие не монтирует несколько приложений?
В случае, если мне нужно, чтобы приложение работало в фоновом режиме для целей определения местоположения/уведомления, предположим, что я не могу решить эту проблему, но я могу обрабатывать прослушиватели событий, чтобы они не выполнялись несколько раз. Насколько плохо для производительности/памяти одновременное подключение нескольких приложений?
Спасибо