今天又看到Android5.0的一些信息,实在忍不住了。说说我个人(一家之言)对它的看法。
ICS从去年11月放出4.0,到12月还是12年1月又放出来4.0.3,短短3个月,放出两个版本的SDK,实在是过于仓促。
细节没怎么看,目前知道媒体引擎这块,有准备将stagefrightplayer换成nuplayer,专门针对流媒体的(大体是这样,严格的各位不用拍砖),但可恶的是该东西根本没做完嘛!
ICS后kernel基于3.0,很多厂商都来不及做适配。不知道5.0又想基于kernel哪个版本了。似乎几个大厂也跟不上步骤,否则如何4.O还未出几款手机呢?不过保不齐,那些大厂已经知道Goolge再开发5.0,所以就不急着去弄。步伐迈得太快了,Goolge自己也只是拿亲儿子一款手机在那整,有本事也来支持下其他厂商的手机?
以前没机会去看Java层的framework,今次一看。代码真的不咋样。尤其是重要的ActivityManagerService,非常混乱。这可是调度的核心啊。反正看android源码,一点美感都没有。所以导致我有一个很深的疑惑一个如此流行的东西,是靠技术取胜 还是靠别的什么取胜?各位看官不妨回答一下。
另外,ICS中,对平板和手机UI方面做了整合(实际从HoneyComb就开始了),加了所谓的fragment,又搞出来一堆回调函数!(谷哥哥,回调太多了,会把人搞晕的)。每个应用也便得巨复杂无比,大量使用设计模式,实际上对java程序员要求高了。应用不好改啊,各位!
ICS似乎想抛弃gcc编译器了,君不见在external下引入了LLVM(具体名字不太记得了,但苹果就是用这个编译器吧。《程序员》前几期一直有个栏目在讲苹果的故事,大概是12年1月期就提到了这个巨牛叉无比的LLVM,牛叉到什么程度呢?假设new出来的东西,忘记delete的话,该编译器会自动在某个地方插入delete。大概就是类似的说法。各位觉得不可能吧?不过大牛说了:既然编译器在编译的时候能提示说是否忘记delete,那为何编译器不能自动把delete加上?)。用上LLVM,好处很多,编译速度快几倍,内存耗费少几成。而且编译错误的提示更人性化,不像GCC那样,编译错误提示乃天书。
总结:google毕竟没搞过桌面OS,所以对这块积累不深。这是看代码得到的一个直观结论。升级太快,真的受不了,而且对资源要求越来越高。对各位程序员来说,要么做中间件(比如视音频开发,多媒体播放,webkit等不局限于android架构的),要么做BSP。UI的话,如果你很喜欢做,那也还行。UI最容易和特定平台绑定,android UI架构并不好。数年之后,鹿死谁手还不知道呢。
发表评论 取消回复