Linux相关概念:
1.       Android是基于Linux系统的,具有所有Linux的一切概念,用户,权限,进程,线程, IPC…
2.       Android系统每一个程序就会指定一个不同的UID, 所以, 每个程序都互不干涉.
3.       每个程序都会独立运行在一个单独的进程. 当component(activity, service)被调用时进程启动,当进程不再被使用时关闭,或者系统需要回收资源的时候
4.       两个程序也可能拥有一个相同的UID, 此时两个程序间就能共享文件,数据等。 系统也有可能把该两个程序直接运行在一个进程中(有什么毛用?)。貌似只要把两个程序的签证弄成一样,就能达到相同UID的效果。
5.       Android在使用系统提供的服务时,需要显式的在配置文件中申明。


Component相关概念:
一个Component就是一个程序入口,完全是Android的概念,可以这样理解,一个Linux程序提供了好几种功能,只要传输不同的参数,就可以提供不同的服务。每个Component就是一个不同的服务,在Android中,有以下四种Components:
1.       Activity. 最常见的啦
2.       Service. 后台程序啦
3.       Content provider.  提供数据操作。 Android设想一种乌托邦:a, 任何人都可以在任何地方设计一个数据代理,该代理处理数据,数据可以存储在文件系统,数据库,或者任何地方,对使用者透明。b, 任何程序都可以使用该数据代理。
这个东西倒是蛮有用,当有定义良好的公共数据需要处理的时候。但恐怕也用处不大,因为每个程序的要求都千奇百怪
4.       Broadcast receiver. 用来接收系统广播数据。这个也无可厚非


Android所鼓吹的特性,就是一个程序可以调用另外一个程序的Component.  其实没什么牛逼的,无非就是把另外一个程序启动起来,传过去数据,返回数据而已。
一个标准的跨进程Activity调用如下:A进程发送一个请求给Android系统,Android系统启动B进程。 B进程处理完后,返回A进程。充当信息载体的东东,就是Android发明的字眼:Intent. 真是无聊的文字游戏。详情请见学习笔记之Intent.


配置文件:
Android唯一让我欣赏的是配置文件使用,虽然这个不是新鲜玩意,玩过任何程序的朋友都会接触各种各样的配置文件,特别是玩Java的朋友。Android有一个重要的配置文件:AndroidManifest.xml.  这个文件是写给Android系统看的,包括如下信息:
1.       程序所申请的各种权限
2.       程序所使用的API版本
3.       程序所用到的各种软硬件特性
4.       程序所需要的屏幕尺寸大小
5.       各种乱七八糟的特殊库
6.       各种乱七八糟的component和Intent filter

程序资源:

Android提倡程序和所使用的资源分开。提供了XML描述,以及不同文件夹存放的方式,其苦心是在于为了让程序和资源松耦合,更方便的进行扩展,替换。这是个不错的技巧