3月24日学习笔记(活动的启动方式)

时间:2022-01-30 11:47:05

1.standard模式
每当启动一个新的活动,它就会返回栈中入栈,并处于栈顶位置。但不管这个活动是否在栈顶,每次启动都会创建该活动的一个新的实例。

2.singleTop
在启动活动时,如果返回栈的栈顶已经是该活动,则直接使用,不再创建新的活动实例。

3.singleTask
在启动活动时,如果发现返回栈中存在该活动的实例,则直接使用,不再创建新的活动实例。

4.singleInstance
可以和其它程序共享活动实例,因为在这种模式下会有一个单独的返回栈来管理这个活动,任何应用程序来访问,都共用同一个返回栈。

启动活动的最佳写法:

public class SecondActivity extends Activity{
public static void actionStart(Context context, String data1, String data2){
Intent intent = new Intent(context, SecondActivity.class);
intent.putExtra("param1", data1);
intent.putExtra("param2", data2);
context.startActivity(intent);
}
...
}

启动SecondActivity

button.setOnClickListener(new View.OnClickListener(){
@Override
public void OnClick(View view){
SecondActivity.actionStart(FirstActivity.this, "data1", "data2");
}
});