虽然很多Android手机的配置都比iPhone要高,比如大多数Andorid手机的内存都有1GB,而iPhone 4S只有512MB内存,但用过iPhone的人都知道Android手机在使用的时候总感觉没有那么顺滑,究竟为什么会出现这种现象呢?一位软件工程师和前Google实习生Andrew Munn解释说是因为Android系统UI的框架设计的问题。

在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,系统会将所有资源用于渲染UI过程。而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短信,这样系统UI获得的资源就不够,这就是Android系统不流畅的原因。

由于这个原因,新发布的Galaxy Nexus,甚至配备四核处理器的话说EeePad Transformer Prime平板电脑都无法保证顺滑的操作体验,这些设备只能与3年前的iPhone顺滑程度相比,那么Android团队为什么不从根本解决这个问题呢?

实际上,Android的开发工作在第一代iPhone发布之前就已经开始了,原始Android原型体被设计成为使用键盘手机的设备,也就是黑莓手机的竞争对手。UI渲染优先级别在有键盘的手机上并没有那么重要。但是在iPhone发布之后,Android小组为了快速推出能与iPhone竞争的产品,迅速将Android改成触摸屏手机系统,但那时重写UI框架已经不可能了。因为如果这样Android应用市场中的所有程序将变得不可用,这种关系将一直处于恶性循环之中。难怪乔布斯在传记中表示Android是偷来的产品,哪怕苹果倾家荡产也要将其消灭。

最新文章

  1. 使用Java判断字符串中的中文字符数量
  2. android 布局学习
  3. ruby -- 基础学习(八)中文字符串截取的函数
  4. SVN空格问题的解决方法
  5. 【转】图片IMG标记的alt属性和title属性的使用
  6. msql_DDL_创建table
  7. 解决qt5窗口不刷新(测试窗口类型,测试窗口属性)
  8. Django写的投票系统2(转)
  9. Python3基础 global关键字 使函数的局部变量升格为全局变量
  10. JavaScript跨域请求和jsonp请求实例
  11. 写一个ORM框架的第一步
  12. 数据的随机抽取 及 jQuery补充效果(菜单、移动)
  13. 模拟IC芯片设计开发的流程
  14. 转://linux下的CPU、内存、IO、网络的压力测试工具与方法介绍
  15. PAT基础6-3
  16. OkHttp踩坑记:为何 response.body().string() 只能调用一次?
  17. c# 之 事务
  18. JVM(3)对象A和B循环引用,最后会不会不被GC回收?-------关于Java的GC机制
  19. RNN - LSTM - GRU
  20. hdu 5475 模拟计算器乘除 (2015上海网赛H题 线段树)

热门文章

  1. 修正constructor的指向
  2. Linux Curses编程实现贪吃蛇
  3. Hbase Java API程序设计步骤
  4. 【技术贴】SqlServer2008 R2 安装失败提示出现以下错误 服务 MSSQLSERVERO
  5. NBU是最牛逼的备份软件
  6. PHP日常杂记
  7. java中基本类型封装对象所占内存的大小(转)
  8. Installing vSphere SDK for Perl
  9. 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答
  10. (转载)Undefined variable: PHP_SELF的问题解决方法