Activity简介


声明周期

  •  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页面,

  配合路由使用特别方便


作者:alongstorm,发布于:2019/03/18
原文:https://www.cnblogs.com/alongstorm/p/10553103.html