安卓ui源码,Android源码和sdk源码有什么差别

1,Android源码和sdk源码有什么差别SDK开发的android源码开发一般是手机厂商会用到,因为要涉及修改源码 , 设计出适合自己手机的ui等android sdk是在标准的android sdk基础上开发自己的应用,很多手机应用商会用这种开发^_^【安卓ui源码,Android源码和sdk源码有什么差别】
2,如何快速高效地完成一个Android项目1.显然Eclipse不是阅读Android源码的好工具,不流畅,搜索低效,继承性关系/调用关系都无法有效查看 。推荐Source Insight,在这个工具帮助下,你才可以驾驭巨大数量的Android 源码,你可以从容在Java,C++,C代码间遨游 , 你可以很快找到你需要的继承关系 。顺便,我们公司一直是Windows+Linux+Samba的工作模式 。2.宏观上看,Android源码分为功能实现上的纵向 , 和功能拓展上的横向 。在阅读源码时需要把握好着两个思路 。譬如你需要研究音频系统的实现原理 , 纵向:你需要从一个音乐的开始播放追踪 , 一路下来,你发现Jni调用解码库,共享内存的创建和使用,路由的切换,音频输入设备的开启,音频流的开始 。3.Android的功能模块绝大部分是C/S架构,你心里一定需要有这个层级关系,你需要思路清晰地找到Server的位置,它才是你需要攻破的城 。然后你才能发现HAL和Kernel一层层地剥离 。我大概在三个月前阅读完Android UI系统的源码,这是Android最复杂的部分 , 没有之一 。我需要先找一个开头,和UI有直接关系的就是最常见的Activity了吧 , 我就从它开始解剖 。我从Activity的创建入手,寻找Activity真正的创建位置,setContentview这个方法很明显和UI有关 , 这两方面一结合,我发现了ViewRoot和WindowManager的身影,沿着WM和WMS我发现了Surface , 以及draw的函数,它居然在Activity 创建时出现的DeCorView上画东西 。借助Source Insight我总结了UI Java层的横向静态图 。完成这个静态UML , 我觉得我可以开始功能实现上追踪了 , 这部分主要是C++的代码(这也是我坚定劝阻的放弃Eclipse的原因),我沿着draw函数,看到了各个层级的关系 , SurfaceSession的控制和事务处理,SharedBuffer读写控制,彪悍的SurfaceFlinger主宰一切,OpenGL ES的神笔马良 。FrameBuffer和FrameBufferDevice的图像输出 。一气呵成的完成了 。

    推荐阅读