一:应用程序
   主程序  联系人  电话  浏览器   其他应用程序
二:应用程序框架
活动管理器  窗口管理器  内容提供者  视图系统  通知管理器
软件包管理器  电话管理器  资源管理器  位置管理器  传感器管理器
三:库
界面管理器  媒体框架  SQLite
OpenGL FreeType  WebKit
SGL SSL libc
 Android运行时  
 核心库  
 Dalvik虚拟机  
四:Linux内核
显示驱动程序  蓝牙驱动程序  相机驱动程序 闪存卡驱动程序  Binder驱动程序
键盘驱动程序  USB驱动程序 WiFi驱动程序  音频驱动程序 电源管理
 
 
 
 
 
 
 
标准的Linux 和Windows 桌面可以同时运行许多应用程序,并且可以在不同的窗口中同时看到这些程序。除了其中某个窗口拥有键盘焦点外,所有程序都是平等的。
Android不是这样管理窗口的。Android中有一个前台应用程序,它通常会占据除状态栏以外的所有屏幕空间。
所有应用程序和窗口记录在应用程序栈
类似于 web浏览器的历史功能。
 
android系统架构_第1张图片
开发人员不能控制程序处于哪个状态,这是由系统管理的。但是通过 onXX()方法调用改变状态时,系统会通知开发人员。
 
 
需要在Activity类中重写这些方法
OnCreate(Bundle);
onStart();
onResume();
onPause();
onRestart();
onStop();
onDestory();
onSaveInstanceState();
onRestoreInstanceState();