zoukankan      html  css  js  c++  java
  • 活动的生命周期(五)活动的启动模式

           活动的启动模式对我们来说是个新的概念,在实际项目中我们会根据活动的需求为每个活动指定恰当的启动模式。共分为四种分别是:standard,singletop,singletast,singleinstance,可以在androidMainfest.xml中进得指定,android:launchModel属性来选择启动查式。

           Standard(标准):从字面就可能看得出这个是标新准的启动模式,在不进行显示指定的情况下,都是这种模式。在这个模式下每当启动一个新的活动时,它就会压入栈的顶部,而不去管这个少动之前是否已经在栈中,有点浪费资源。

           SingleTop:在有些情况下用“标准模式”不太合适。活动已经在栈中了,为何还要再启动一个新的,直接更改它在栈中的位置即可。于是就有了singleTop,这个模式也和上面差不多,只是多了一个判断,判断活动是否在栈的顶部,如果存在,就不再创建新的。反之如果不再栈的顶部,那还是后启用一个新的活动。

           SingleTast:这个是为弥补singletop而来的,如果活动不在栈的顶部,但是存在栈中,就直接将位置移动到栈的顶部。

           SingleInstance这个最为复杂,指定为这个模式会启用一个新的栈来管理这个活动,假设我们有一个活动允许其他程序调用,共享数据,这种方式无疑是最好的。

           活动的启动的最佳写法,我们可以通过intent来构建出当前的“意图”,然后来调用startActivity()或startActivityForResult()方法将活动启动起来,我们可以用下面的方式来写:

          pubilc static void actionStart(Context context,String data1,String data2)

             {

               Intent intent=new Intent(context,SecondActivity.cass);

                         intent.putExtra("param1",data1);

                         intent.putExtra("param1",data2);

                         context.startActivity(intent);

             }

          这个方法完成Intent的构建,另外所有的SecondActivity中需要的数据都是通过actionStart来进行传递的,这样的好处就是灵活性增高了,启动代码也可以简写了成:  

         SecondActivity.actonStart(FiresActivity.this,"data1","data2");

                

          

         

  • 相关阅读:
    R语言 dbWriteTable 写入数据库 为空和乱码问题
    data.table进阶
    简述ODS,和数据仓库做简单的比较
    深入ff and ffbase
    R语言操作mysql上亿数据量(ff包ffbase包和ETLUtils包)
    基于mondrain 的原理纠正特殊指标值
    基于mondrian聚合表的R计算olap开发
    dplyr快速入门
    R中的data.table 快速上手入门
    删除pentaho用户和用户文件夹
  • 原文地址:https://www.cnblogs.com/c546170667/p/6132311.html
Copyright © 2011-2022 走看看