活动和碎片的一些区别以及活动的启动模式

来源:互联网 发布:淘宝修改密码在哪里 编辑:程序博客网 时间:2024/06/05 16:28

一、活动与碎片的区别

活动:活动Activity)是一种可以包含用户界面的组件,主要用于和用户进行交互。

碎片:碎片Fragment)是一种可以嵌入在活动当中的UI片段,他能让程序更加合理和充分地利用大屏的空间。活动可以用来描述一些行为或者一部分用户界面在一个活动中,你可以合并多个碎片在一个单独的活动中建立多个UI面板,同时重用碎片在多个活动中,你可以认为碎片作为一个活动中的一节模块。

他们之间的区别:活动不受碎片的影响,但是碎片是依附于活动的就受到活动的影响。

生命周期:活动的生命周期是从启动活动到活动的摧毁;

碎片的生命周期是从被活动调用开始到活动的摧毁或者是和活动取消关联的时候。或者通过调用 FragmentTransaction 的 remove()、replace()方法将碎片从活 动中移除,但在事务提交之前并没有调用 addToBackStack()方法,这时的碎片也会进入 到销毁状态。

二、活动的启动模式

1.standard模式

  这个模式试试系统默认模式每当启动一个新的活动的时候就会返回栈,并且处于栈顶, 
那么又会重新创建一个活动,如果是相同的活动的话,那就浪费内存了

 

 

Intent intent = new Intent(First.this, First.class);

startActivity(intent);

 

2.singleTop模式

S  ingleTop模式可以避免那种情况,它可以判断栈顶是否存在该活动,如果存在的话,不会再创建实例,而是继续使用原来的实例活动,但是此举也有一个缺陷,那就是它只会在栈顶判断是否存

 

 

 

 

3.singleTask模式

singleTask模式可以很好的解决重复 创建栈顶活动问题,它会出栈检查全部是否存在该活动,如果存在,就重新使用原活动。

 

4.singleInstance模式

singleInstance模式是四种模式较为复杂的模式,和上述三种模式不同, 
被指定为此模式的活动,会独立启用一个新的栈来管理这个活动。