-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
问题描述
开发过程中遇到一个问题,Android 的 App 在首次安装打开切后台回来后必定会执行启动图然后重新进入 App,这时首页内容没有数据,在 Logcat 看日志是有收到数据的,但就是没有显示出来。把整个 App 关闭掉再打开就再也没有出现这种现象了。多次测试后,发现没有显示数据的原因是出现了两个首页,第二个首页没有收到数据,究其原因都是因为这个首次安装切后台 App 重启的问题,这里的重启是指又生成了一个 MainActivity,所以导致两个 MainActivity 出现,如果反复多次切后台返回来的操作,数量会累加。本以为是这个项目哪里配置错了才会有这种问题,没想到是每个项目都有,而且发现一些流行的App里也存在这种问题。
解决方法
网上搜索了一下,很多人都遇到,这是 Android 的设计 bug 吧,大家提供的解决方法是判断当前启动页是否已经加载过,是的话就 finish 掉当前 Activity。对于原生 Android 开发的 App 的确是有效的,但是对于 React-native 来说只有一个 MainActivity ,finish 掉就白屏了,并不适用。我试过好多方法,唯一对我有效的是在 AndroidManifest 中 name='.MainActivity' 的 activity 项里加入 android:launchMode="singleTop",具体原因不明,目前也没发现有其它副作用
总结
这个问题可能就是很多偶发的严重bug的起因,之前一直重现不了现在可以回头去看看再去修复它们了
Metadata
Metadata
Assignees
Labels
No labels