一、线程和进程
1.androiod清单文件中,可以指定某一个组件单独的在一个进程中执行,通过android:process="processName"
2.进程根据优先级依次从高到低分为
前台进程:获得焦点,可以和用户进行交互
可见进程:可见,但无焦点,不响应点击
服务进程:通过startService()开启
后台进程:不可见,被存储在LRU任务列表中,系统可随时终止他们
空进程:缓存进程,缩短启动时间
3.主线程用于绘制界面,当主线程阻塞超过大概5秒,系统会弹出ANR报错
4.进程间通信IPC:android中主要通过RPC(远程调用)的方式如aidl
二、app启动流程(具体看http://www.jianshu.com/p/a5532ecc8377)
1.系统启动时主要通过Zygote(受精卵)进程,Zygote通过开启一个socket端口接受请求。可以创建虚拟机及其他如SystemService等进程,可以加载App通用资源。总的来说它初始化了android系统环境。
2.