android多实例活动?
我有一个关于活动多实例的问题 (例如)android多实例活动?,android,Android,我有一个关于活动多实例的问题 (例如) A1是一个活动,A1使用startActivity()启动A2,然后A2也使用startActivity()启动A1,当前系统中存在多少A1实例?如您所问,将只存在一个A1实例 如果您在转到A2时没有完成A1,那么将创建新实例 在返回A1时创建 如果您没有完成,那么A1的后台运行实例( 将在堆栈中)将出现在前面 下面是一个例子 Intent i=new Intent(A1.this,A2.class); startActivity(i); finish()
A1是一个活动,A1使用startActivity()启动A2,然后A2也使用startActivity()启动A1,当前系统中存在多少A1实例?如您所问,将只存在一个A1实例
Intent i=new Intent(A1.this,A2.class);
startActivity(i);
finish();
This is my point 1.In this case if you will come back from A2 then new instance will be created.
这是我的第二点,没有结束()
在这种情况下,如果您将从A2返回,则A1已经在后台运行,因为您在前往A1时尚未完成它。因此它将出现在前面。这取决于您在启动活动时设置的意图标志。例如,如果将它们设置为Intent.FLAG_ACTIVITY_REORDER_to_FRONT,则该活动将被重用,即没有多个实例。如果您没有设置任何标志,那么您描述的场景将在堆栈上启动一个新活动。最终你会耗尽内存。仅调用finish()将销毁活动实例只会出现一个实例。这取决于启动模式。看。@Android_疯狂-这不正确,请重新措辞,我不明白。假设我对所有活动启动调用都使用startActivity()。谢谢,那么您的观点是,在任何情况下,系统中最多会有一个可用的活动实例?是的。但这可能取决于使用标志的启动模式。但在您的情况下,它将只有一个。
Intent i=new Intent(A1.this,A2.class);
startActivity(i);