美文网首页
Activity活动的启动方式

Activity活动的启动方式

作者: _ming_ming | 来源:发表于2016-04-09 20:24 被阅读58次
    standard 模式

    活动的启动模式有四种,我们默认的启动方式是standard, 但实际中我们往往要根据需求,要选择恰当的启动模式,启动模式分别是standard,singleTop,singleTask, singleInstance这四种。


    有时候会觉得重复创建实例不合理,这时候就要用singleTop模式。

    Activity活动的启动方式

    使用singleTop模式,启动活动发现返回栈的栈顶已经是该活动,就可以直接使用它,不会再创建新的活动实例,减少垃圾回收gc的负担。


    话不多说,先上图。

    Activity活动的启动方式

    使用singleTop模式,如果该活动没有在栈顶,还可能创建多个活动实例。那如果要让活动在整个应用程序都只有存在一个实例,就需要上图的singleTask模式了。

    每次启动时,系统会先在返回栈中检查是否存在该活动实例,发现已经存在则直接使用该实例,并把其他在这活动之上的活动统统出栈,发现没有就创建一个新的活动实例。


    singleInstance模式

    接下来我们讲最复杂也是最实用的模式。singleInstance模式可以实现其他活动和我们活动共享这个活动的实例,由于同一活动的不同返回栈必然是创建了新的活动实例。使用singleInstance模式下会有单独的返回栈来管理这个活动,不管哪个应用程序访问该活动,都共用一个返回栈,很好解决了共享活动实例的问题。


    相关文章

      网友评论

          本文标题:Activity活动的启动方式

          本文链接:https://www.haomeiwen.com/subject/lfkblttx.html