乐趣区

关于android:华为应用强制更新中偶现点击退出应用退不出应用

问题形容

咱们游戏集成了 6.2.0.300 版本的游戏 sdk 后,后盾提交更新包并勾选了“强制更新”选项,新包上线后,在测试游戏强制降级性能时,发现偶现的点击“退出利用”退不出游戏,查看日志发现最初一次点击按钮,降级 sdk 中 isExit 字段返回的 false,所以狐疑是不是 sdk 的问题。

问题剖析

带着疑难分割华为技术反对(可提单分割),技术支持复现问题后,发现最初一次点击“退出利用”按钮,并没有进入降级的回调,而 isExit 字段返回的 false,还是上一次弹降级弹窗返回的,本次点击按钮并没有打印日志,所以导致我误以为是 isExit 字段返回 false 导致的没有退出游戏。

技术支持剖析之所以没有退出游戏,是因为我的降级代码是这么写的:

因为 callback 放在了局部变量中,很容易被回收,所以会偶现收不到回调。

问题解决

解决的办法就是把 callback 放到成员变量里,如下图所示:

改完之后,问题解决。

退出移动版