Activity的四种启动模式(LaunchMode).docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Activity的四种启动模式(LaunchMode)

Activity的四种启动模式(LaunchMode) activity android:name=”.MainActivity” android:launchMode=”standard”/ Standard 默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中。 任务栈:对象,用来存放activity实例。 第一次启动实例时,会创建进程,在进程里面创建一个任务栈,里面存放ACTIVITY实例。 startActivity(new Intent(this, MainActivity.class)) singleTop 如果在任务的栈顶正好存在该Activity的实例,就重用该实例(会调用实例的onNewIntent()),否则就会创建新的实例并放入栈顶(注:即使栈中己经存在Activity实例,只要不在栈顶,都会创建实例)。 Toast.makeText(this, new Date().toString(), 1).show(); singleTask 如果在栈中己经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。如果栈中不存在该实例,将会创建新的实例放入栈中。 singleInstance 在一个新栈中创建该Activity实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity的实例己经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例(会调用实例的onNewIntent()).其效果相当于多个应用共享一个应用。不管谁激活该Activity都会进入同一个应用中。 Intent intent = new Intent(); intent.setClassName(“包名”, ”全路径类名”); startActivity(intent); Intent Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent(意图),Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用三种类型的核心组件:活动,服务和广播接收者。 Intent可以划分成显示意图和隐式意图。 显示意图:调用Intent.setComponent(),Intent.setClassName(),Intent.setClass()方法明确指定了组件名的Intent为显式意图;没有明确指定组件名的Intent为隐式意图。Android系统会根据隐式意图中设置的动作(action),类别(category),数据(URI和数据类型)找到最合适的组件来处理这个意图。 intent-filter action android:name=”android.intent.action.CALL”/ category android:name=”android.intent.category.DEFAULT”/ data android:scheme=”tel”/ /intent-filter intent-filter action android:name=”android.intent.action.CALL”/ category android:name=”android.intent.category.DEFAULT”/ data android:mimeType=”vnd.android.cursor.item/phone”/ /intent-filter 隐式意图: 在清单文件中定义意图过滤器,书写条件参数: intent-filter action android:name=”名称”/ category android:name=”名称”/ category android:name=”android.intent.category.DEFAULT”/ /intent-filter Public void openActivity(View view){ Intent intent = new Intent(); intent.setAction(“动作名称”); intent.addCategory(“类别名称”); startActivity(intent); //此方法内部会为意图注册一个类别,名称为category android:name=”android.intent.category.DEFAULT”/ } intent-filter action android:name=”名称”/ action android:name=”名称2”/ c

您可能关注的文档

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档