2023学年完整公开课版Activity的启动模式_第1页
2023学年完整公开课版Activity的启动模式_第2页
2023学年完整公开课版Activity的启动模式_第3页
2023学年完整公开课版Activity的启动模式_第4页
2023学年完整公开课版Activity的启动模式_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实训Android北京电子科技职业学院1与生命周期相关的一些重要方法2Activity的启动模式3指定Activity的启动模式1与生命周期相关的一些重要方法与生命周期相关的一些重要方法当Activity的launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onCreate方法,而是调用onNewIntent方法。这时的Activity执行的生命周期为:onNewIntent()——>onRestart()——>onStart()——>onResume();当然也不要忘记,系统可能会随时杀掉后台运行的Activity,如果这一切发生,那么系统就会调用onCreate方法,而不调用onNewIntent方法,一个好的解决方法就是在onCreate和onNewIntent方法中调用同一个处理数据的方法。onNewIntent方法与生命周期相关的一些重要方法

onSaveInstanceState()和onRestoreInstanceState()两个方法,在Activity中是比较容易忽视的方法,但是不得不说还是比较好用的方法,onSaveInstanceState()

可以帮我们当一个活动不小心被杀掉后,可以帮我们回到原来的位置,通常情况下,

onSaveInstanceState()

只适用于保存一些临时的状态。然而onRestoreInstanceState()没有经常的使用,所以也就先不介绍了。从这句话可以知道,当某个activity变得”容易”被系统销毁时,该activity的onSaveInstanceState()就会被执行,除非该activity是被用户主动销毁的,例如当用户按BACK键的时候。那么什么时候会遇到重新初始化呢?举一个简单的例子,比方说手机横竖屏切换的时候,如果我们没有在manifest文件的configchange属性里指定orientation|screenSize,就会在onPause之后调用到onSaveInstanceState(Bundle)方法。onSaveInstanceState与onRestoreInstanceState方法2Activity的启动模式Activity的启动模式Activity的默认模式,在这个模式下,都会默认创建一个新的实例,每启动一个Activity就会在栈顶创建一个新的实例,允许多个相同Activity叠加。标准(standard)模式Activity的启动模式该模式下,不允许多个相同Activity叠加,该模式会判断要启动的Activity实例是否位于栈顶,如果位于栈顶直接进行复用,如不在则创建新的实例。singleTop模式Activity的启动模式singleTask模式下只有一个实例,在同一个应用程序中启动他的时候,举个例子,启动ActivityQ1时,系统首先检查栈中是否存在Q1,如果存在则直接复用,如果不存在,则新建一个ActivityQ1,同时把栈中除了Q1外的实例全部清除,栈中只保留Q1。singleTask模式Activity的启动模式singleInstance模式的Activity会启动一个新的task来管理Activity实例,该task中只有这一个Activity,不允许有别的Activity存在。。singleInstance模式3指定Activity的启动模式指定Activity的启动模式Activity的启动模式有两种1.通过清单文件AndroidManifest设置launchMode属性2.通过在Intent中设置标志指定Activity的启动模式1.FLAG_ACTIVITY_NEW_TASK2.F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论