欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Activity简介

程序员文章站 2022-05-03 12:00:50
声明周期 4种状态 running / paused / stopped / killed 声明周期 activity启动 >onCreate() -->onStart() >onResume() 点击Home键回到主界面(Activity不可见) -->onPause() --> onStop() ......

声明周期

  •  4种状态

  running / paused / stopped / killed

  •  声明周期

  activity启动  --->oncreate() -->onstart()--->onresume()

  点击home键回到主界面(activity不可见) -->onpause() --> onstop()

  再次回到原activity时 -->onrestart() --> onstart() --> onresume()

  推出当前activity -->onpause() --> onstop() --> ondestroy()

  • android进程优先级

  前台 / 可见 / 服务 / 后台 / 空

启动模式

  • standard(默认)

  标准模式,也是默认模式。每当我们启动一个activity,系统就会相应的创建一个实例,不管这个实例是否已经存在。

  • singletop

  栈顶复用模式,如果要启动的activity处于栈的顶部,那么此时系统不会创建新的实例,而是直接打开此页面,同时它的onnewintent()方法会被执行,可以通过intent进行传值,而且它的oncreate(),onstart()方法不会被调用,因为它并没有发生任何变化。

  • singletask

  栈内复用模式,如果栈中存在这个activity的实例就会复用这个activity,不管它是否位于栈顶,复用时,会将它上面的activity全部出栈,因为singletask本身自带cleartop这种功能。并且会回调该实例的onnewintent()方法。

  • singleinstance

单实例模式,该模式具备singletask模式的所有特性外,与它的区别就是,这种模式下的activity会单独占用一个task栈,具有全局唯一性。以singleinstance模式启动的activity在整个系统中是单例的,如果在启动这样的activiyt时,已经存在了一个实例,那么会把它所在的任务调度到前台,重用这个实例。

scheme跳转协议

  android中的scheme 是一种页面内跳转协议,通过定义自己的scheme协议,方便跳转app内各个页面;通过scheme协议,服务器可以定制化告诉app跳转哪个页面,可以通过通知栏消息定制化跳转页面,可以通过h5页面,

  配合路由使用特别方便