Sri*_*san 5 android android-widget android-emulator android-intent android-layout
我的应用程序中有活动(A,B,C).当我启动应用程序活动A时:
A:onCreate()
A:onStart()
A:onResume()
Run Code Online (Sandbox Code Playgroud)
使用intent我正在调用第二个活动(A - > B):
A:onPause()
B:onCreate()
B:onStart()
B:onResume()
A:onStop()
Run Code Online (Sandbox Code Playgroud)
然后我点击"主页"按钮,然后应用程序转到后台:现在
B:onPause()
B:onStop()
Run Code Online (Sandbox Code Playgroud)
1或2小时后再次,我转到我的设备中的主页,然后单击它运行的应用程序图标,如:
B:onDestroy()
A:onRestart()
A:onStart()
A:onResume()
Run Code Online (Sandbox Code Playgroud)
但我需要去哪一个我退出的活动,
B:onRestart()
B:onStart()
B:onResume()
Run Code Online (Sandbox Code Playgroud)
我已经阅读了一些文章,它说的是由于不再可见而被系统杀死的活动.是否有任何可能解决我的问题......
提前致谢...
你可能会在这里混淆两件不同的事情:
如果需要内存,Android不会杀死活动.它的作用是杀死活动正在运行的整个过程.一般来说,这意味着Android会在这种情况下杀死你的所有活动.但是,它会记住活动堆栈,当用户返回应用程序时,Android将创建一个新进程,然后根据需要重新创建每个活动(依次).它首先重新创建活动堆栈顶部的活动(即:用户离开应用程序的位置).
Android假设如果用户长时间离开任务(我认为这是30分钟),那么他就不再对该任务感兴趣了,并且没有必要记住用户在活动堆栈中的位置.那个任务因为他可能不在乎了.在这种情况下,当用户返回任务(或重新启动该任务中活动堆栈顶部的应用程序)时,Android会简单地将任务清除回根活动.这样看起来应用程序重新开始.这是期望的(并记录在案的行为).
您想要做的是阻止Android在情况#2中清除任务.你可以通过添加来实现
android:alwaysRetainTaskState="true"
Run Code Online (Sandbox Code Playgroud)
到根活动的<activity>标记(即:启动应用程序的活动,带有和的活动).ACTION_MAINCATEGORY_LAUNCHER
| 归档时间: |
|
| 查看次数: |
1622 次 |
| 最近记录: |