如何学习Android游戏开发?

想学习Android游戏开发需要经历以下三个层次的学习:

第一个层次最接近传统的嵌入式Linux,主要涉及CPU、GPU和外设的驱动和使能。你需要熟悉Linux内核,Android框架定义驱动的接口规范等等。这部分开源社区是最强大的。这个级别技术的主要需求者是各种CPU和Android设备解决方案提供商。

第二层次主要涉及Android框架的中间件部分,如多媒体/3D框架、Java虚拟机等。谷歌的这部分控制是最严格的,因为它必须标准化中间件,才能控制Android的各种功能,并绑定自己的移动互联网应用。这部分也是涉及最多的软件技术,从各种C/C++库、Java虚拟机性能、用户体验抽象到数据库设计等等。发展一般是选择一个方向发力。另外,安卓ROM深度定制的重点也在这个层面。

第三层是App开发层,主要是利用Android的SDK进行开发。很多C/C++出身的人都以为是Java开发的。Java其实就是C++什么都有指针,有try/catch,有垃圾回收,上手其实很快。Android程序最重要的一点是理解生命周期的概念,明确一个活动和Linux进程的关系,这个进程什么时候开始,什么时候休眠,什么时候退出,后台的事件周期是如何工作的,最后提醒自己虚拟机在运行,垃圾收集在运行。Google Code上的参考代码比较多,在看中学的时候可以快速学习。