Android中activity的启动模式.md

今天想写一些基础知识,帮自己深刻理解Activity的启动模式
1. standard:标准的启动模式,该方式也是我们最常用的,我们每次用到的时候不管该activtiy是否存在就直接使用新建了,这样在不断的新建,对于程序的优化一点帮助也没有。因此不建议使用
2. SingleTop:(栈顶模式):该启动模式在之前的基础上稍微做了优化,它的作用是每次在用到该activity时,如果该activity的实例在栈顶则进行复用,如果不在栈顶,则新建activity的实例,这种任然存在一定的问题,但是相对于上面的标准模式有了一定的优化。
3. singleTask:(单任务模式),该模式是为了解决singleTop的不足,它的作用是每次在使用activity的实例时,先去站中找,如果位于栈顶则直接使用,如果没有位于栈顶,则会让其他位于该activity之上的activity全部出栈,让当前的activity位于栈顶,如果没有找到该acitivity的实例,则新建一个。

  1. SingleInstance(单实例模式),这种最复杂的,千万不能和singTask启动模式混淆,可以通过一个案例来帮我们理解,比如我们其中的一个活动是供别的应用程序来共享和调用的它的实例,这时候使用之前的3种肯定是实现不了的,因为每个应用程序在返回自己的返回栈时,同一个活动在不同的栈中肯定会创建新的实例,但是使用singleInstance模式就可以做到,这种情况下会有一个单独的栈来管理这个共享的活动,不管是哪个应用来访问该activity,它都位于同一个回退栈中,也就解决了实例共享的问题。
    这种确实很难理解,相对前面的来说,但是通过这次以后,应该能加深自己对这4种模式的理解吧。
发布了8 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/honey_angle_first/article/details/78871069