1.Andriod的Framework是基于C/S框架设计的,分为:客户端,服务端和linux驱动
服务端:
WindowManagerService(WmS):管理窗口
ActivityManagerService(AmS):管理所有应用程序的activity
KeyQ:读取用户的操作,存入消息队列QueueEvent
InputDispatcherThread:从QueueEvent中取出消息,过滤后发给当前活动的程序
客户端:
ActivityThread:应用程序的主线程
Activity:APK程序运行的最小单元
PhoneWindow
Window:提供窗口操作的API
DecorView
ViewRoot
W
WindowManager:和WmS交互,窗口的创建是由WmS实现,而WindowManager是app提交申请的对象
Linux驱动:
SurfaceFlingger(SF)
Binder:提供IPC
2.一个app就是一个application,一个activity就是一个用户界面,一个appcation可以包含很多activity
3.APK(android package)
其实是。zip,被改名为apk
文件结构
|——META-INF
|——res
|——AndroidManifest.xml
|——classes.dex
|——resources.arsc
4.Android Application项目目录结构
|——src
|——res
|——drawable
|——layout
|——values
|——gen
|——R.java
|——AndroidManfest.xml
5.Log
android.util.Log包中
Log.v(VERBOSE)
Log.d(DEBUG)
Log.i(INFO)
Log.w(WARN)
Log.e(ERROR)
6.Android系统架构
应用程序层 Applications
应用程序框架层 Application Framework
系统运行库层 Libraries and Android Runtime
硬件抽象层 Hardware Abstraction Layer
Linux内核层 Linux Kernel