BUG记录
1. 回到桌面后再次启动,出现splash界面
昨天给测试发送了新的测试包,结果返回给我一个bug:app在已经登录后,点击回到桌面后再次点击应用图标,闪屏页又再次启动了,接着跳转到登录页(没有做持久化登录)。这个情况之前没有遇到过,在网上找了一圈,找了答案,特此记录一下。
引用
Android Bug分析系列:第三方平台安装app启动android是什么系统后,home键回到桌面后点击app启动时会再次启动入口类approvebug的原因剖析
bug原因
由于第三方app启动的intent与桌面启动的intent不一致,导致了本应用的入application口被再一次启用
解决方案
// 避免从桌面启动程序后,会重新实例化入口类的activity if (!this.isTaskRoot()) { Intent intent = getIntent(); if (intent != null) { String action = intent.getAction(); if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) { finish(); return; } } }
注意事项
按照正常逻辑,splash大多有一些初始化的操作,并且在
onDestroy
方法中会释放这些对象。为了修复这个bug,上面的代码是在onCreate
中立即执行了,这样一些对象还未被初始化的,所以在onDestroy
释放对象时需要做非空判断。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)