Android系统架构
-
应用层
所有安装在手机上的应用属于这一层
-
应用框架层
这一层主要提供构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以使用哲学API来构建自己的应用程序
-
系统运行库层
这一层通过一些C/C++库来为Android系统提供主要的特性支持。如SQLite库提供数据库的支持,OpenGL|ES库提供3D绘图的支持,Webkit库提供浏览器内核的支持等
-
Linux内核层
Andoird系统基于Linux内核。这一层为Android设备的各种硬件提供底层的驱动,如显示驱动、音频驱动、照相机驱动等
Android四大组件
-
活动 Activity
-
服务 Service
-
广播接收器 Broadcast Receiver
-
内容提供器 Content Provider
活动的生命周期
-
运行状态
当一个活动处于返回栈的栈顶时,活动处于运行状态
-
暂停状态
当一个活动不再处于栈顶位置,但仍然可见时,活动进入暂停状态
-
停止状态
当一个活动不再处于栈顶位置,并且完全不可见的时候,进入停止状态。系统仍然会为这种活动保存相应的状态和成员变量,但并不完全可靠,当其他地方需要内存时,处于停止状态的活动有可能会被系统回收
-
销毁状态
当一个活动从返回栈移除后变成销毁状态
活动的生存期
Activity类中定义了7个回调方法,覆盖了活动生命周期的每一个环节
-
onCreate()
-
onStart()
活动由不可见变为可见的时候调用
-
onResume()
在活动准备好和用户进行交互的时候调用。此时的活动一定位于栈顶,并且处于运行状态
-
onPause()
在系统准备去启动或者恢复另一个活动的时候调用。通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的调用
-
onStop()
在活动完全不可见的时候调用。和onPause的区别在于,如果启动的活动是一个对话框式的活动,那么执行onPause,而不是onStop()
-
onDestroy()
在活动被销毁前调用
-
onRestart()
在活动由停止状态变为运行状态之前调用