gpt4 book ai didi

安卓。无需重新创建和完成即可在 2 个 Activity 之间切换

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:30:42 25 4
gpt4 key购买 nike

我有 2 个 Activity “A”和“B”。我需要在不完成和重新创建的情况下在它们之间切换。

运行应用程序 -> 创建并显示 A -> 按下按钮 -> 创建并显示 B -> 按下按钮 -> 显示已存在的 A -> 按下按钮 -> 显示已存在的 B -> 依此类推。

当前解决方案:

private void toA() {
Intent intentToA = new Intent(this, A.class);
intentToA.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intentToA);
}

private void toB() {
Intent intentToB = new Intent(this, B.class);
intentToB.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intentToB);
}

它适用于 VM( native ,Genymotion - android 4.1)。 Activity 只会创建一次。当我在它们之间切换时,一切都很好——没有调用 onCreate 或 onDestroy。这正是我想要的。

但是当我在真实设备(Nexus 4 - android 4.3)上运行相同的应用程序时, Activity 在切换时被破坏并重新创建。

在虚拟机上:

Run app -> 
A: onCreate, onResume ->
press button ->
B: onCreate, onResume ->
press button ->
A: onResume - >
press button ->
B: onResume ->
...

在真实设备上:

Run app -> 
A: onCreate, onResume ->
press button ->
B: onCreate, onResume & A: onDestroy ->
press buttom ->
A: onCreate, onResume & B: onDestory ->
...

注意:Intent 标志对切换行为没有影响。

最佳答案

AndroidManifest.xml中将Activity的launchMode设置为singleInstance

希望这对您有所帮助。

关于安卓。无需重新创建和完成即可在 2 个 Activity 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34784173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com