Activity四种启动模式
来源:互联网 发布:php课程简介 编辑:程序博客网 时间:2024/06/06 00:55
Activity 的启动模式有四种,standard、singleTop、singleTask、singleInstance.
1.standard
准备工作:两个Aty 相同布局 Manifests修改启动方式
Manifests:
<activity android:name=".MainActivity" android:launchMode="standard"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".SecondActivity" android:launchMode="standard"> </activity>
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.administrator.hongyangzi.MainActivity"> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="#91bef0" android:gravity="center" android:text="NextAty" android:textAllCaps="false" android:textSize="40sp"/></RelativeLayout>
MainActivity:
public class MainActivity extends AppCompatActivity { private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LogUtil.fussenLog().d(this.toString()); btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this , SecondActivity.class); startActivity(intent); } }); }}
SecondActivity:
public class SecondActivity extends AppCompatActivity { private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LogUtil.fussenLog().d(this.toString()); btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(SecondActivity.this , MainActivity.class); startActivity(intent); } }); }}
最后运行一下,点击按钮不停的在MainActivity和SecondActivity之间切换,结果如下:
红线上面是MainActivity 蓝线是SecondActivity
可以看出虽然跳转的页面相同但是每次都会创建出一个新的Activity
2.singleTop
准备 做点小修改 在布局里面新增一个Button
Button作用是跳转自身
然后在每个点击事件里把作用打Log
最后运行效果如下:
这个是在Main和Second之间跳转 和standard一样没有变化
但是,点击跳转到自身的按钮:
位于栈顶跳转自身时没有新建一个新的Activity
3.singleTask
4.singleInstance
运行效果如下:
------------------------------------------------------------------------------------------------------------------------------------------------
最后总结:
阅读全文
0 0
- Activity四种启动模式
- activity四种启动模式
- activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- Activity 四种启动模式
- Activity四种启动模式
- Activity四种启动模式
- 《Spring3实战》摘要(4-2)--Spring配置切面
- ASP.NET MVC 5
- 士兵杀敌(二)(树状数组+单点更新+区间和)
- 求出字符串中大写字母,小写字母和数字的个数
- 什么是 PHP 过滤器?为什么使用过滤器?
- Activity四种启动模式
- 三分搜索--hdu3400 Line belt
- 揭秘新型勒索病毒Petya攻击方式
- nginx反向代理配置
- Codeforces 838B. Diverging Directions (LCA+线段树, IndiaHacks 2nd Elimination 2017 )
- vimgrep 搜索总结
- 细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系
- _T() 和_L() _TEXT __T,L区别与联系详解
- Android初级开发(四)——补充6、控件TabHost的使用