你凭啥一定要求android就要比iphone运行的流畅?!

看到一篇文章《为什么安卓手机不如iPhone流畅?》,例举了很多原因:android多线程运行,即使退到后台,线程也继续运行;android用的是java(其实android用的虚拟机是定制的),ios用的是objective C(高度精简的C++);andriod要支持最最多的硬件,iPhone的硬件都是自个儿选的。看到这里,会给大家一个错觉,一定会觉得苹果公司的技术很牛,实际情况并非如此。

任何一件事都要放到大背景里去看:苹果系统是07年发布,iOS是个封闭生态系统,自己做应用市场,自己挑选硬件系统,Jobs用NextSTep语言改造成了objective C++,自己做了一套IDE的开发环境,苹果。一年多后android系统面试了,它要面对的是一个已经在移动APP市场独孤求败了一年多的商业产品,它唯一的选择就是团结更多的人来与之对抗。所以android从一开始就是的开源的生态系统,任何一个手机厂家都可设计硬件,没有一个统一的应用市场(这才有了91助手,豌豆荚),连UI都可改造(小米早期就是靠改造android
UI开始积累粉丝);当然开发者也不能轻视,所以用了Java语言,其实Android的虚拟机系统是自己定制的哈。

从一个商业运作来看,android生态系统的打造是一个完美的商业方案,成功的阻击了苹果成为一家独大的现象:

1,Google没有做硬件的技术沉淀,所以组建了联盟来一起阻击;

2,android的出现让移动APP市场生态圈更加健康;一家独大的结果玩玩就意味着固步自封,不思进取,店大欺客。

在回来说说Jobs这个天才,是个Geek。他设计的Mac视窗系统开始并不十分畅销,因为是个封闭系统很难融入大流,虽然比windows视窗要流畅;因为这个,他还被赶出了Apple公司。回来后,他懂得了循序渐进,先是有了iPod classic,然后是有了iPod Touch(这个和iPhone已经十分靠近了),逐步赢得了人心和市场。话说iPhone的畅销也带动Mac的销量,至少要开发iOS应用你就不得不买一个Mac系统。毕竟装黑苹果的人还是少数吧。

说到Mac视窗系统不得不说一下它的老伙计windows视窗系统。windows跑的够慢了吧,总感觉内存不够用,什么样高性能的硬件性能都会被它吃的干干净净,可还是视窗系统市场的No.1。从这方面看,技术系统完美程度并不能代表在市场上占有率。

无论android和iPhone都是天才之作,都是成功的商业作品;任何脱离商业考虑的技术都是耍流氓;好的技术人员除了技术过硬,也需要有广阔的事业,有横向视野(对比各类技术,做出抉择),也要有纵向高度(既懂技术,也能理解商业),学会在商业和技术之间的平衡艺术。

时间: 2024-10-08 06:22:59

你凭啥一定要求android就要比iphone运行的流畅?!的相关文章

Android M 新的运行时权限开发者需要知道的一切

本文来自微凉一季的博客http://jijiaxin89.com/2015/08/30/Android-s-Runtime-Permission/ 更多文章点击跳转微凉一季 tags: 翻译,这是一篇译文. android M 的名字官方刚发布不久,最终正式版即将来临! android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响.惊讶的是android社区鲜有谈论这事儿,尽管这事很重要或许在不远的将来会引发很严重的问题. 这是今天我写这篇博客的原因.这里有一切

Android技术16:编写Android中直接可运行的二进制文件

我们都知道Android中所有应用程序都运行在Android的Dalvik虚拟机上,一般程序不直接与操作系统打交道,即便调用底层的方法也通过JNI技术.不过我们可以直接使用C语言编写二进制文件,直接在底层运行.下面演示其步骤. 1.安装下载编译器和链接器软件.Sourcery G++ Lite Edition for ARM. arm-none-linux-gnueabi-gcc.exe是编译命令 bin/arm-none-linux-gnueabi-ld.exe是链接命令 2.编写C代码 为了

Android M新的运行时权限开发者需要知道的一切

android M 的名字官方刚发布不久,最终正式版即将来临!android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响.惊讶的是android社区鲜有谈论这事儿,尽管这事很重要或许在不远的将来会引发很严重的问 题.这是今天我写这篇博客的原因.这里有一切关于android运行时权限你需要知道的,包括如何在代码中实现.现在亡羊补牢还不晚. 作者:微凉一季来源:简书翻译|2015-08-31 09:41 分享 翻译的国外一篇文章. android M 的名字官方刚

android如何做iphone那种图片抖动动画的效果(包括button和EditText)

给按钮做抖动效果,可以这样做,建立anim文件夹在res下面,创建一个button_shake.xml <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="120" android:fromDegrees="

JS判断请求来自Android手机还是iPhone手机

<script type="text/javascript"> var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android')

android的编译和运行过程深入分析

android的编译和运行过程深入分析 作者: 字体:[增加 减小] 类型:转载 首先来看一下使用Java语言编写的Android应用程序从源码到安装包的整个过程,此过程对了解android的编译和运行过程有很大的帮助 首先来看一下使用Java语言编写的Android应用程序从源码到安装包的整个过程,示意图如下,其中包含编译.链接和签名等: (1)使用aapt工具生成R.java文件 可以先通过搭建好的Eclipse开发环境创建一个未编译的Android工程,记的一定要将Eclipse中Proj

&lt;转&gt;Android App性能评测分析-流畅度篇

1.前言 在手机App竞争越来越激烈的今天,Android App的各项性能特别是流畅度不如IOS,安卓基于java虚拟机运行,触控响应的延迟和卡顿比IOS系统严重得多.一些下拉上滑.双指缩放快速打字等操作,安卓的流畅度都表现比较糟糕,但是,对于App使用过程是否流畅,一直没有一个可靠的指标将用户的客观感受和数据一一对应.虽然之前有FPS(每秒帧数)作为游戏或视频类App的性能指标,但对于那些界面更新不多的App来说,仍不是一个合适的衡量数据.以下会根据实际app性能测试案例,展开进行app性能

Android实现开机自动运行程序

有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service.怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以“Don't call me, I'll call you back!”总结Android框架,真是说到点子上了.理解这句话的含义,许多有关Android平台上实现某种功能的问题,都能迎刃而解. 使用场景:手机开机后,自动运行程序,在屏幕上显示"Hello. Istarted!"字样. 背景知识:当Android启动时,会发出一个系统广播,内

Android插件化开发---运行未安装apk中的Service

如果你还不知道什么叫插件化开发,那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从整体角度分析了一下Android插件化开发的几个难点与动态加载没有被安装的apk中的Activity和资源的方法.其实一般的插件开发主要也就是加载个Activity,读取一些资源图片之类的.但是总有遇到特殊情况的时候,比如加载Service. 要动态加载Service,有两种思路:一是通过NDK的形式,将Service通过C++运行起来(这种方法我没有尝试,只听群里的朋友说实现