以下是重现错误的过程.
在我的项目v0.29中发生,但我刚刚在v0.33上测试了init,它的行为方式相同.
当应用程序运行时,按下设备/模拟器的主页按钮并通过单击桌面图标打开应用程序,这里发生的是应用程序重新启动安装组件而没有先卸载它,导致多个实例如果你多次这样做,app会运行.
然后,如果您按下设备后退按钮,它将终止,因此卸载顶级实例,让您使用前一个实例,直到最后一个卸载并且它将转到桌面.
在此之后如果您退出应用程序,就像您最初按下主页按钮并通过单击桌面图标打开它,这将不会重新启动应用程序再次安装它,从这一刻开始正确行事.同样,如果应用程序首次启动,则使用后退按钮退出,之后主页按钮将表现正常.
同样,如果你实现像react-native-activity-android这样的软件包,以避免在按下后退按钮时杀死应用程序,你最终会运行多个应用程序.
我不知道android,当应用程序被杀死时发生了什么,如果你使用home按钮将应用程序发送到后台它可以正常工作?
任何想法如何解决这个问题,所以将应用程序发送到后台并重新打开它不会挂载多个应用程序?
如果我需要在后台运行应用程序以进行位置/通知,假设我无法解决此问题,但我可以处理事件侦听器,因此它们不会多次执行.多个应用程序同时安装的性能/内存有多糟糕?
谢谢