LauncherMode

1, android中,以Task为中心来管理Activity,Acitivity在Task中以栈的形式保存。

2, Activity的加载方式有以下几种:分别通过测试来验证。

准备:

创建:

MainActivity:Button:ToSecond跳转至SecondActivity

SecondActivity:Button:ToThis跳至至本身即SecondActivity,Button:ToThird跳至ThirdActivity

ThirdActivity,Button:BackSecond跳回SecondActivity

重写(override):

Activity的onCreate()方法和ondestroy()方法

添加:Log

运行此android项目:初始页为下图:

a) LauncherMode:stardard:(即默认Activity加载模式)

为清晰起见,可以先注释掉ondestroy()方法

打开配置文件:AndroidManifest.xml文件,如下图,添加LauncherMode配置文件

Step1:点击Button:ToSecond:(新创建)

Step2:点击Button:ToThis(增加)

Step3:点击Button:ToThird(无增加)

Step4:点击Button:BackSeocnd(增加)

总计创建3次,显然这对于系统是一种很大的浪费。

b) LauncherMode:singletop

同样的位置,修改LauncherMode:singletop 特点:如果它在栈顶,则它不新创建

为看清楚清除的效果,添加ondestroy()方法,同样的方法处理ThirdActivity,重写onCreate(),onDestroy()并添加Log

Step1:点击Button:ToSecond:(创建Second)

Step2:点击Button:ToThis(无增加),因为Second在栈顶

Step3:点击Button:ToThird(无增加)

此时Task栈中的activity排列如下图:左图:

Step4:点击Button:BackSeocnd(增加)

见上右图,栈顶为Third,故创建Second

c) LauncherMode:singletask::只要栈中有就不创建,并且当加载r singletask Activity时,会destroy其上的activity。

Step1:点击Button:ToSecond:(创建Second)

Step2:点击Button:ToThis(无增加),因为栈中存在

Step3:点击Button:ToThird

Step4:点击Button:BackSeocnd(由c的图可知,Third被清除)

d) LauncherMode:singleinstance

此时只要全局(系统)中有此Activity,则不会创建,

修改配置文件中的launcher为singleinstance

此时,测试需要新建另外一个项目,由新项目(以项目1,项目2区别)跳至原项目Second。通过Action。

为了测试方便,新项目的icon不要使用默认:修改为其他照片,地址在配置文件的如下部位,配置icon即可:

项目2中使用隐式意图跳转:

Step1:安装项目2,运行即可,到达应用程序页面看所选图标是否有,即代表项目2是否安装成功

Step2:运行项目1,点击Button:ToSecond

Step3,返回桌面,点击项目2图标,进入,点击Button1,跳转至项目1启动Second。

没有新创建,故在全局中有,即不新创建

更多相关文章

  1. Android进阶之Mp3项目(五)
  2. Android点击WebView中的图片查看大图
  3. Android(安卓)QQ第三方登录
  4. Android(安卓)ListView/ListActivity点击长按事件
  5. Windows下,Ant自动化编译Android项目具体步骤和方法
  6. android:点击popupwindow以外区域 popupwindow自动消失(转载)
  7. 升级Android(安卓)Studio 导致的 `Error:Failed to notify proje
  8. android arcgis(100.0.0)ArcGISMapImageLayer 图片图层点击查询要
  9. 完美解决 Android(安卓)Studio 创建New Module时候出现 Project

随机推荐

  1. 初学Android,数据存储之File存储(四十二)
  2. Android Studio 中使用SVN注意事项
  3. Android(安卓)intent消息通知机制
  4. Android-Charts,Android图形图表控件
  5. Android Map 开发之高德地图
  6. Android View三种熟悉——visible,invisi
  7. Handler运行机制
  8. MonkeyRunner源码分析之与Android设备通
  9. DroidAudio android上易用的音频简易封装
  10. android 串口提权