尝试运行《第一行代码》第5章示例项目,发现点击MainActivity内的按钮后,程序闪退--没有逃到新生代LoginActivity。
最初分析代码,发现BaseActivity.onDestroy()里错误调用方法 ActivityCollector.finish(),正确应当调用方法ActivityCollector.remove()。
逐步调试发现一个问题:广播接受器FroceOfflineReceiver启动context.startActivity(intent)之后,程序又会进入LoginActivity.onDestroy(),MainActivity.onDestroy()。为什么程序会处理这种操作?最初的程序闪退是不是程序进入LoginActivity.onDestroy()或MainActivity.onDestroy()之后,因为错误调用方法ActivityCollector.finish(),导致广播接收器启动的活动被销毁?先把疑问放这,待更深入理解android后,自己解答。
疑问一
最新推荐文章于 2024-09-13 18:22:36 发布