对于SingleTop模式,即使栈中存在活动的实例,但是如果不在栈顶的位置,系统还是会创建该活动的情况下。如果将启动模式设置为SingleTask模式,那么在启动该活动时,系统检测到栈中存在该活动的实例,就不会再创建该活动了,而只是会将处于该活动上方的所有活动都出栈,使得该活动处 ...
对于SingleTop模式,即使栈中存在活动的实例,但是如果不在栈顶的位置,系统还是会创建该活动的情况下。如果将启动模式设置为SingleTask模式,那么在启动该活动时,系统检测到栈中存在该活动的实例,就不会再创建该活动了,而只是会将处于该活动上方的所有活动都出栈,使得该活动处于栈顶位置。
同样的,贴上代码来检测一下。创建项目LearnLaunchMode_SingleTask,其各部分代码如下:
FirstActivity.java:
1 public class FirstActivity extends ActionBarActivity { 2 private Button launch_second, launch_third; 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_first); 7 8 launch_second = (Button) findViewById(R.id.launch_second); 9 launch_third = (Button) findViewById(R.id.launch_third);10 launch_second.setOnClickListener(new View.OnClickListener() {11 @Override12 public void onClick(View v) {13 Intent intent = new Intent().setClass(FirstActivity.this, SecondActivity.class);14 startActivity(intent);15 }16 });17 launch_third.setOnClickListener(new View.OnClickListener() {18 @Override19 public void onClick(View v) {20 Intent intent = new Intent().setClass(FirstActivity.this, ThirdActivity.class);21 startActivity(intent);22 }23 });24 Log.i("TAG", this + " is launch");25 }26 27 @Override28 protected void onDestroy() {29 super.onDestroy();30 Log.i("TAG", this + " is destroy!");31 }32 }
原标题:Activity启动模式之SingleTask
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。