Activity调用栈的分析

2016-09-13  本文已影响229人  AmatorLee

生活本来就不容易啊,而我们的不努力只会让生活变得更加无赖。

今天看了《Android群英传》的有关Activity调用栈的相关知识,所以得来写点东西记录今天的收获。

Activity生命周期

AndroidMainifest启动模式

  1. standard
    Activity默认的启动模式,每次创建Activity都会new出一个新的实例。如下图:


    standard
  2. singleTop
  1. singleTask
  1. singleInstance
    书上说这种模式,会新建一个任务栈。其原理与浏览器的工作原理相类似。多个程序访问浏览器时。如果浏览器已开则直接访问,没有则打开浏览器后访问。
    singleTop与singleInstance还有一点需注意:如果ActivityA中调用startActivityForResult()启动另外一个时,系统会自动返回Activity.RESULT_CACELED而不会再等待返回。

Intent Flag启动模式

  1. Intent.FLAG_ACTIVITY_SINGLE_TOP(singleTop效果相同)
  2. Intent.FLAG_ACTIVITY_CLEAR_TOP(singleTask效果相同)
  3. Intent.FLAG_ACTIVITY_NO_HISTORY(该模式下,ActivityA启动ActivityB后,ActivityA小时)

清空任务栈

总结:其实网上这些文章有很多而且写的很透彻,例如老罗的啊,但是自己写下来感觉会不一样。

上一篇 下一篇

猜你喜欢

热点阅读