Android学习笔记—第九章Activity的加载模式-创新互联

第九章 Activity的加载模式

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了定日免费建站欢迎大家使用!
  1. task:类似于栈,每次打开界面会创建一个task,然后将这开启的界面放入到该task中。

    (1)standard:默认模式

    每次都会创建一个新的界面,将该界面加入task中

    (2)singleTop:栈顶单实例模式

    a. 如果目标Activity不存在,创建一个新的Activity,存入到task中

    b. 如果目标Activity已经存在,并且处于栈顶,不会再创建新的Activity

    c. 如果目标Activity已经存在,但不处于栈顶,创建一个新的Activity存放到task中

    (3)singleTask:栈中单实例

    a. 如果目标Activity不存在,创建一个新的Activity,存入到task中

    b. 如果目标Activity已经存在,并且处于栈顶,不会再创建新的Activity

    c. 如果目标Activity已经存在,但是处于栈中,会将目标Activity之上的所有Activity销毁

    (4)singleInstance:全局单实例

    a. 如果目标Activity不存在,创建一个新的task和新的Activity,将Activity存入到task中

    b. 如果目标Activity已经存在,将该Activity所在的task移动到前台进行展示

  2. 单实例(单例,单态)SingleTon

    (1)声明一个类,私有化其构造方法

    private SingleTon(){}

    (2)创建一个该类类型的对象

    private static SingleTon singleTon = new SingleTon();

    (3)public static SingleTon getInstance(){

        return singleTon;

       }

    (4)测试

  3. Intent标志位

    //设置Intent标志位

    intent.setFlags(Intent.FLAG_ACTIVITY_XXX);

    a. Intent.FLAG_ACTIVITY_SINGLE_TOP:

    与加载模式中singleTop(栈顶单实例)类似

    b. Intent.FLAG_ACTIVITY_CLEAR_TOP:

    效果与加载模式中singleTask类似,将目标Activity之上的所有Activity都销毁(包括自身),然后创建一个新的Activity

    c. Intent.FLAG_ACTIVITY_NEW_TASK:

    备注:如果在service中通过startActivity跳转界面,必须设置Intent标志位。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:Android学习笔记—第九章Activity的加载模式-创新互联
本文链接:http://ybzwz.com/article/depdhd.html