现在有一个有趣的现象,Android平台的手机用户并不多,而开发者数量已经呈爆炸趋势。不过这种现象应该会很快有所改观,全球
各大知名厂商(除了固执的Nokia)都在紧锣密鼓地推自己的Android手机。
作为一个初学者,我很难理解Google的一些策略用意,首要的就是内存及效率方面。
1.力挺Java。
不可否认,Java是一门语法简洁,先进而有魅力的语言,它在很多方面都要比臃肿衰老的C/C++优秀,可惜并不是全部方面。对于手
持设备来说,CPU和内存资源都是有限的,而效率和性能恰恰是Java的软肋,内存得不到及时释放,VM和GC拖慢速度。即使现在手机
配置越来越好,动辄就是ARM11,Cortex-A8,即使对Java的优化越来越好,您也不能这么浪费啊,您要为低端用户考虑考虑啊!这
样用Java写程序,程序员乐得悠闲,却把问题抛给用户,这样做是很不负责任的。还好,现在Google公布了NDK,但是功能还是太有
限了,仅提供一些标准库、数学库、压缩库之类的,而且程序入口仍然要用Java写。
2.令人费解的任务管理
现在Android商店里卖的最火的软件是ATM(Android Task Manager),从这个侧面可以看出,用户对Android自身的任务管理系统有多
么的不满了。在Android中的系统自带软件,什么计算器闹钟之类的程序是无法自如退出的。无论你按Home或是Back键,程序依然
在后台,除非后台程序超过6个,系统自动kill掉最旧的一个。这样做完全不给用户自主选择的机会,尤其是对一些对性能敏感而挑
剔的用户,更是无法忍受。据说,Android后台程序并不占系统资源,我一直觉得不大可能,即使它把进程暂停,并映射到ROM上以
腾出内存,但对于大型程序来说,现场保存与切换也是很耗时的。
Google有一大批天才程序员,当然天才的想法不是我这种没入门的小菜鸟所理解的。又或许更多是为市场考虑,而非技术。