0%

Android随想(二)

  操作系统和VM的结合是Java受阻的原因之一,.Net战略的优势也在于在Windows Mobile里头有一个很好的CLR。或许你有一个这样的用户体验,在Windows上运行的程序,Java写的往往要感觉比.net写的运行得慢,就是因为CLR是对操作系统和硬件做了优化的,而JVM必须支持通用的操作系统和通用的硬件,毫无疑问的说Eclipse是一个非常优秀的使用java来写的IDE。因此MS的Windows Mobile的优势在于,只要。Net framework有什么新的东西,对应的CF就有新的东西,而且Windows的UI已经让人非常习惯了。对于Java来说,除了Sun推出一个Solaris的移动版,有可能会使得Java变成手机移动开发的主力军,但是他没有。所以希望Symbian,ucLinux去完成这件事,事实证明,这个使命没有完成。就用户体验来说,对于许多中低端的用户会非常喜欢Nokia,就一个终端用户而言,不期待能用手里微薄的工资买一个IPhone,Nokia的高端机,Nokia的市场战略非常出色,就我自己而言,用过几大牌子的手机,最后还是愿意情归Nokia,就是因为它的MMI做的人性化。从网上的消息得知,Android的机器的售价应该是Iphone的一半,或者还能有所下降,相信它的市场会因为它友好的MMI见长。Android在MMI开发中引入的Java,这个时候的Android并没有拘泥于J2ME的一些死板的JSR,构建在Linux上的Android使用了一个相当优秀的操作系统,就内核而言Linux无疑是业界承认是相当稳定的。见网上的一篇帖子,说有公司对比了Android内核和标准的2.6.25版本的Linux内核,发现了google修改了75个文件,增加了88个文件,该公司还对这些文件都做了对应的注释,其中为Glodfish增加了44文件,这个是虚拟机的虚拟CPU,模仿的是ARM926t;为YAFFS2修改了35个文件,因为增加了对NANDFLASH的支持;为蓝牙修改了10个文件;为调度器修改了进程调度和时钟相关策略,5个文件;为Android的新子系统增加了28个文件,有IPC Binder,运行的进程能为其他进程提供服务,这个功能已经在Plam的软件里被使用了,Low Memory Killer,是在内存紧张的时候根据策略关闭某些程序的功能,内核有实现,google重写了,Ashmem,匿名共享内存,多个程序可以使用这个共享内存获取信息,RAM Console and Log Device,Android增加的日志模块,Android Debug Bridge,Android的调试工具,还有Realtime clock,timed GPIO等;google还重写了电源管理,文档说,这个是最复杂难度最高的一个功能,放弃了APM,DPM;此外还有36个文件被修改了,设计Android的许多小功能。不过因为Android的内核屏蔽了太多的硬件驱动,会对很多Linux的硬件企业造成堡垒,linux的内核维护者宣布将Android核心代码从linux内核中删掉,同时很多企业正试图从他们的代码库中去除Android的代码。因此,Android的发展也不是一帆风顺的,但是它漂亮的MMI是各大厂商都不愿意放弃的,因为实在没有多少个厂商能做到这样的一个系统而且还开源,纵然有缺点,我们也要包容这个可爱的绿色机器人。