android基础重点总结(分层架构,五中布局,activity的生命周期和四种启动模式)

一:android系统采用了分层架构:

从高层到底层分别为应用程序层,应用程序框架层,系统运行库层和linux核心层。

二:android大众常用的五种布局:

分别为:FrameLayout(框架布局),LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局),AbsoluteLayout(绝对布局)

frameLayout:框架布局,放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元素,适合浏览单张图片。

LinearLayout线性布局,使用用程序中最常用的布局方式,主要提供控件水平或垂直排列的模型,每个子组件都以垂直或水平的方式定位。(默认是垂直)

RelativeLayout相对布局,根据另外一个组件或顶层父组件来确定下一个组件的位置。

TableLayout表格布局,使用TableRow来布局,其中TableRow的每一个视图组件代表一个单元格。

AbsoluteLayout绝对定位布局,采用坐标轴的方式定位组件,左上角(0,0)点,往右x轴递增,往下y轴递增,组件定位属性为android:layout_x和layout_y来确定坐标。

三:activity的生命周期:

onCreate:在这里创建界面,做一些数据的初始化工作。

onStart:到这一步变成用户可见不可交互的。

onResume:变成和用户可交互的,(在activity栈系统通过栈的方式管理这些个Activity的最上面,运行完弹出栈,则回到上一个activity).

onPause:到这一步是可见但不可交互的,系统会停止动画,等消耗cpu事情从上文的描述已经知道,应该在这里保存你的一些数据,因为这个时候你的程序优先级降低,有可能被系统回收,在这里保存的数据,应该在此保存永久的数据。

onstop:变的得不可见,被下一个activity覆盖。

四:activity的四种启动模式:

在一个activity中,有多次调用startActivity来启动另一个activity,要想只生成一个activity实例,可以设置启动模式:

Standed:标准模式,一个调用startActivity()就会产生一个新的实例。

SingleTop:如果已经有一个实例位于activity栈顶,就不产生新的实例,而只是调用activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。

singleTask:会在一个新的task产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。

singleInstance:这个和singleTask基本一样,只是一个区别:在在这个模式下的activity实例所处的task中,只能有这个activity实例。



你可能感兴趣的:(android)