android应用程序包主要包含了工程文件及其资源文件,在通过JVM处理成.class文件后,再由android自带工具dex将所有class文件处理成一个dex文件。由于android系统是基于linux的,所以android程序具有以下特点:
- 默认情况下,每一个程序都运行在独立的linux进程中
- 每一个进程都有自己独立的vm,因此每一个程序都独立运行
- 在linux中每一个应用程序都有自己唯一的linux用户Id,通过对其设置可以提供外界访问接口
一般情况下android应用程序由以下部分组成:
- activity 用户可以看见接触的界面
- broadcastReceiver 广播接收器
- service 没有界面的后台运行程序
- content provider 内容提供者,为其他程序提供访问本程序数据的接口
android系统中进程的分类
- 前台进程
- 可见进程
- 服务进程
- 后台进程
- 空进程
activity活动生命周期图(附件1)
service生命周期图(附件2)
android程序处理流程(附件3)