如何从整体架构上学习android
2014-07-25 14:30
183 查看
android操作系统因为智能手机而有了爆发性的普及,但是它的应用不仅仅是在手机这样的设备上,未来90%以上的智能设备都会采用google的android或者深度修改过的android,但是无论如何修改,android的架构,设计以及生态模式和app层开发的技术是不会变的。
那么要想从整体架构上学习android,而不是满足于HAL层,FRAMEWORK层,APP层或者驱动层,更不满足于向ffmpeg等某一个模块的话,那么就需要掌握C/C++,JAVA,JNI的编程技术,掌握linux系统的驱动知识,进程间通信,共享内存,进程管理,启动流程等,还有java虚拟机的运行原理。
具有上述的技术体系做支撑,再去研究android的GUI系统,apk的结构,binder驱动,系统启动流程,zygote进程,lanucher启动流程,serviemanger的工作原理,一个activity启动过程,service和activity的生命周期,sqlite,content provider,receiver这些知识。
按照如上流程,应该就差不多理解了android,其实就是在linux的kernel上启动很多个虚拟机,每个虚拟机是一个进程,每个虚拟机上面运行一个或者多个APK,APK之间的进程通信依靠biner驱动,这就造就了android.
那么要想从整体架构上学习android,而不是满足于HAL层,FRAMEWORK层,APP层或者驱动层,更不满足于向ffmpeg等某一个模块的话,那么就需要掌握C/C++,JAVA,JNI的编程技术,掌握linux系统的驱动知识,进程间通信,共享内存,进程管理,启动流程等,还有java虚拟机的运行原理。
具有上述的技术体系做支撑,再去研究android的GUI系统,apk的结构,binder驱动,系统启动流程,zygote进程,lanucher启动流程,serviemanger的工作原理,一个activity启动过程,service和activity的生命周期,sqlite,content provider,receiver这些知识。
按照如上流程,应该就差不多理解了android,其实就是在linux的kernel上启动很多个虚拟机,每个虚拟机是一个进程,每个虚拟机上面运行一个或者多个APK,APK之间的进程通信依靠biner驱动,这就造就了android.
相关文章推荐
- android学习 豆瓣 整体架构
- android学习 豆瓣 整体架构
- 如何架构?架构设计学习
- ODI 系列学习--整体架构概念
- Android 电话相关架构及源代码分析和学习
- 如何学习android
- android系统架构学习
- dotnet 平台整体架构(应该学习的本质东西)(图文)
- Android RIL 架构学习总结
- Android源码学习之一-Activity是如何实现主题变化的
- Android源码学习之四-ActivityGroup是如何对嵌入的Activitys进行管理的
- Android RIL 架构学习总结
- log4cpp 学习过程(二) ----整体架构
- 深入Android 【二】 —— 架构和学习
- Android 组件学习【启发】 如何处理好多个组件的多个事件
- 深入Android 【二】 —— 架构和学习
- Tomat源码学习(二)——Tomat6的整体架构
- 深入Android 【二】 —— 架构和学习 推荐
- Android源码学习之二-Activity如何管理对话框
- Android 组件学习【启发】 如何处理好多个组件的多个事件 收藏