sto*_*986 17 lifecycle android android-activity
我听说按下后退按钮基本上会导致当前的Activity finish().总是这样吗?看起来就像它将Activity弹出堆栈的方式一样.
我不太确定的一种情况是当任务中的根活动被按下时.我目前正在经历一种非常奇怪的效果,描述如下:
在加载我的应用程序时,第一个Activity用于初始化,一旦完成,它将调用我的主Activity(TabActivity).这个第一个init活动在Manifest中设置了android:noHistory ="true",所以从我的主Activity中按回来将不会回到那个.它发送到启动器.当我第二次在Launcher中单击我的应用程序时,初始化活动再次加载,并在完成后加载主Activity.几乎在紧接着之后,它会加载我的主Activity的第二个实例.但是只有在应用程序已经运行一次之后,并且通过从主Activity中按BACK退出.它会在以后强制退出应用程序或从IDE加载新版本.
基于此,我怀疑某种Activity实例正在四处闲置并被重用,因为它只发生在我运行应用程序的第二个+时间(并使用BACK退出 - 使用HOME只返回到应用程序的最后状态,没什么大不了).任何人都有任何想法?
har*_*ara 11
我听说按下后退按钮基本上会导致当前的Activity完成().总是这样吗?
不它不是.大多数活动都有这种行为,但不是全部.例如,您可以创建一个Dialog并将其设置为setCancelable(false),如果单击BACK按钮它将不会关闭.
此外,您可以通过覆盖onBackPressed来自定义按下的BACK按钮上的活动行为
当活动检测到用户按下后退键时调用.默认实现只是完成当前活动,但您可以覆盖它以执行您想要的任何操作.
关于您的应用程序行为.您是否在加载主要活动后验证活动启动器是否已完成?我的意思是如果调用onDestroy()方法.也许在它运行主要活动之后它仍然在那里,当你点击回来时你只需要回到旧的启动器......
希望这可以帮助..
| 归档时间: |
|
| 查看次数: |
20639 次 |
| 最近记录: |