Android中launchMode四种启动方法详解

Android中launchMode四种启动方法详解

ID:40736756

大小:379.50 KB

页数:12页

时间:2019-08-06

Android中launchMode四种启动方法详解_第1页
Android中launchMode四种启动方法详解_第2页
Android中launchMode四种启动方法详解_第3页
Android中launchMode四种启动方法详解_第4页
Android中launchMode四种启动方法详解_第5页
资源描述:

《Android中launchMode四种启动方法详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android中launchMode四种启动方法详解在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载模式:·standard·singleTop·singleTask·singleInstance设置的位置在AndroidManifest.xml文件中

2、activity元素的android:launchMode属性:也可以在EclipseADT中图形界面中编辑: 区分Activity的加载模式,通过示例一目了然。这里编写了一个ActivityA(ActA)和ActivityB(ActB)循环跳转的例子。对加载模式修改和代码做稍微改动,就可以说明四种模式的区别。1.standard首先说standard模式,也就是默认模式,不需

3、要配置launchMode。先只写一个名为ActA的Activity:packagecom.example.activities;importandroid.app.Activity; importandroid.content.Intent; importandroid.os.Bundle; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widg

4、et.LinearLayout; importandroid.widget.TextView;publicclassActAextendsActivity{ /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); TextViewtextView=newTextView(this); textView.set

5、Text(this+""); Buttonbutton=newButton(this); button.setText("goactA"); button.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ Intentintent=newIntent(); intent.setClass(ActA.this,ActA.class); startActivity(intent); } }); LinearLayout

6、layout=newLinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); layout.addView(textView); layout.addView(button); this.setContentView(layout); } }例子中都没有用layout,免得看着罗嗦。可见是ActA–>ActA的例子。在界面中打印出对象的toString值可以根据hashcode识别是否创建新ActA实例。第一个界面:点击按钮后:可以多点几次。发

7、现每次都创建了该Activity的新实例。standard的加载模式就是这样的,intent将发送给新的实例。现在点Android设备的回退键,可以看到是按照刚才创建Activity实例的倒序依次出现,类似退栈的操作,而刚才操作跳转按钮的过程是压栈的操作。如下图: 1.singleTopsingleTop和standard模式,都会将intent发送新的实例(后两种模式不发送到新的实例,如果已经有了的话)。不过,singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent

8、发送给该实例,而不发送给新的实例。还是用刚才的示例,只需将launchMode改为singleTop,就能看到区别。运行的时候会发现,按多少遍按钮,都是相同的ActiA实例,因为该实例在栈顶,因此不会创建新的实例。如果回退,将退出应用。singleTop模式,可用来解决栈顶多个重复相同的Activity的问题。如果是AActivity跳转到BA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。