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项目:初始页为下图:

clip_image002

clip_image004

clip_image006

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

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

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

clip_image008

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

clip_image010

Step2:点击Button:ToThis(增加)

clip_image012

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

Step4:点击Button:BackSeocnd(增加)

clip_image014

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

b) LauncherMode:singletop

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

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

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

clip_image016

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

clip_image018

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

clip_image020

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

clip_image022

Step4:点击Button:BackSeocnd(增加)

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

clip_image024

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

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

clip_image026

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

clip_image028

Step3:点击Button:ToThird

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

clip_image030

d) LauncherMode:singleinstance

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

修改配置文件中的launcher为singleinstance

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

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

clip_image032

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

clip_image034

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

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

clip_image036

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

clip_image038

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

更多相关文章

  1. Android中获取控件宽高的4大方法
  2. Android 6.0开发实现关机菜单添加重启按钮的方法
  3. google被墙后,Android SDK下载和更新失败的解决方法!
  4. Android LayoutInflater加载.xml文件原理分析
  5. HierarchyView的实现原理和Android设备无法使用HierarchyView的
  6. SONY 系列手机 Android 5.1 系统 Root 方法
  7. [置顶] 教程--Android SDK更新方法(2016.10.11更新)
  8. 关于Android Studio第一次启动的Fetching android sdk component

随机推荐

  1. Android Activity启动模式介绍
  2. Android(安卓)Fragment和FragmentActivit
  3. 《Android面试宝典》学习笔记(第七章:网络
  4. Android实现读取SD卡下所有TXT文件名并用
  5. 使用android模拟事件,python完成自动化测
  6. 【Android(安卓)开发教程】ImageSwitcher
  7. Android刮刮卡效果实现代码
  8. android图片特效,图片过滤
  9. 不支持gif动态图片
  10. Android十八章:从Android看Binder