Android startActivity之后无法启动

最近在项目中遇到了一个问题,当代码发生异常后,用startActivity()启动异常画面,却始终显示不出来。

看打出来的log,ActivityManager确实打印出了启动目标Activity的信息,但是紧接着走了后面的处理,目标Activity的生命周期没有走。

想了半天也没有明白,为什么打印出了去启动Activity的log画面却没有表示出来。

最终发现主要原因有两个。

第一,在用startActivity()启动目标Activity之后,如果没有在try catch代码块中catch住,或throw exception的话,代码还是会继续往下执行,除非自己手动return,结束掉后续处理。

第二,如果后续处理没有被终止,并且还有startActivity()等跳转画面的操作,之前的startActivity()会被覆盖,不会显示之前的画面,而是显示最后一次startActivity()的目标画面。

其实都是一些比较基础的Java和Android的知识点,但是只有在项目中真正发生问题,再调查出原因才会记忆深刻,因为已经是一名老程序员了,所以记不住了,好脑子不如烂笔头,记下来希望能帮到有同样的困扰的小伙伴。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容