关于Android应用的内存管理及性能

来源:互联网 发布:中英文互译软件 编辑:程序博客网 时间:2024/06/09 14:43

现在有一个有趣的现象,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有一大批天才程序员,当然天才的想法不是我这种没入门的小菜鸟所理解的。又或许更多是为市场考虑,而非技术。

原创粉丝点击