我可以通过在Android Activity中声明适当的成员“static”来获得一些效率

如果一个活动在实践中是一个单身人士,我认为我可以通过宣称适当的成员是“静态的”,从而获得一些效率,没有风险。 是?

Solutions Collecting From Web of "我可以通过在Android Activity中声明适当的成员“static”来获得一些效率"

Android文档说 –

“singleTask”或“singleInstance”活动的实例永远不会超过一个,因此该实例将处理所有新的意图。

这意味着你可以使用静态成员

此外,一个standardsingleTop应该只有线程安全的静态成员 。 假设当前活动堆栈是ABCD。 如果到达的意图是对于处于“标准”或“单选”模式的typesB的活动。 B的新实例将被启动(因为B不在堆栈顶部),所以得到的堆栈将是ABCDB。

有一件事请不要使用singleTask或singleInstance用于此目的。 活动启动标志可以控制活动堆栈的行为。 它们对用户与您的活动的交互有明显的影响(使其不符合标准)。 这些模式旨在用于您想要的types的用户交互,他们不应该被用来改变你的应用程序的实现细节。

不可以。同一个Activity可以在同一个进程中多次启动。 例如,您可以尝试单击button时从其自身开始一个Activity

是的,如果确保活动A的另一个实例在活动堆栈中(活动A的一个实例在技术上可以启动另一个自己的实例),则确保活动A的实例未启动,则活动可以是“单例”。

请参阅android.developer页面上的activity属性launchMode 。

Quote :“ 标准是默认模式,适用于大多数types的活动, SingleTop也是一种常见的有用的启动模式,对于许多types的活动,其他模式 – singleTasksingleInstance – 不适用于大多数应用程序,因为它们导致在用户可能不熟悉的交互模型中,与大多数其他应用程序有很大的不同。“