Android的历史与花边
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!
历史
现在的Android如日中天。每天150万部的Android设备被激活,全球Android用户有7亿。三星也凭借Android手机,成为第一大智能手机生产商。而Android在2007年最初发布时,当时负责微软移动开发的Scott Horn评论说,“我看不出他们(Android)能有多大的影响”。如今,Android的成功已经不需要预测。

移动操作系统份额
Android是Google收购的诸多项目的一个。Android之父Andy Rubin最初只想做一个数码相机的操作系统。2005年,Google以五千万美元的价格收购了名不见经传的Android。随后Android项目在花完资金后,陷入不温不火的尴尬境地。正当Andy为未来悲观时,苹果拯救了Android。2007年,乔布斯发布第一款iPhone。全新的理念和无比友好的界面,立即震撼市场。Google意识到这小小的掌上机隐含的威胁。很快,Google从自己收购来的大把项目中找到Android,以免费提供Android操作系统为诱饵,联合灰头土脸的手机生产商们对抗苹果。手机厂商挤不进苹果封闭的系统,也只能搭Android这条船。

Google擅长于网络,硬件和操作系统的积累较少。为了尽快建起防线,Android采用了较为廉价的发展路线。Android主要支持ARM架构的芯片。这一架构以精简节能著称。在ARM上层,Android使用Linux内核,从而利用Linux丰富的硬件支持。在Linux内核之上,Android以Java虚拟机(JVM)为蓝本,制作适宜移动端使用的Dalvik虚拟机。Dalvik虚拟机中,运行着App代码。相比于iPhone长达数年的酝酿,Android不到一年即发布产品,但这种四处借鉴的做法也为未来的专利之争埋下祸根。

Android架构
Android初期只能跟在iPhone身后亦步亦趋。相对于iPhone的“高富帅”气质,Android用户被标签为屌丝。开发者在Google应用商店的收益,也远低于在苹果的收益。然而,三星的S系列手机彻底改变了这一局面。Android针对移动机的优化不足,因此相同硬件条件下,难以达到iPhone的流畅度。三星S系列手机利用超高的硬件配置来弥补这一缺陷。S系列手机的超大屏,也是iPhone不具备。凭借S系列的成功,三星手机迅速拉升Android的市场占有率,反过来威胁到了iPhone的一哥地位。

三星S3
风向迅速转变。苹果无法以技术创新拉开距离,开始动用专利武器,对Android和三星提起诉讼。然而乔布斯手中的两百多项专利,并不能真正击败Android。通过一些小的改动,比如将横向滑动的解锁改为不定向的滑动,Android就可以避开专利陷阱。而三星甚至因为苹果的诉讼,提高了在美国市场的知名度。然而,Google自己也没有预期到Android的成功,暗自后悔最初太保守。三星在Android阵营中的一家独大也让Google心生警惕。Google花大价钱收购了摩托罗拉,打造自己的硬件生产线。

相对于苹果,更有破坏性的是Oracle。从Sun手中买过Java后,Oracle还没有从Java中获得太大的利益。而Oracle手中的Java,也发展缓慢。然而这并不妨碍Oracle对Android的觊觎。Oracle对Google提起系列诉讼,其中的理由是“Google对Java API的改动,破坏了Java平台的完整性”。听起来有些空洞,却支撑起百亿美元的专利案。相对于此,Oracle收购Sun的56亿美元,显得便宜得多。
无论Android的未来如何,都是智能手机大潮的一部分。在这股浪潮中,曾经的个人电脑巨人们被远远抛下。PC的出货量已经开始衰落,不但被智能手机远远抛在后面,甚至被新生的平版电脑赶上。曾经的PC霸主们,Intel和微软,开始思考自己的移动端策略。然而看看智能手机的增长曲线,留给他们的时间有限。

花边
最后,收集一些Android的梗。从经典的Cupcake开始,Android的版本昵都是一种甜品,且首字母按顺序排列。

"Android"这个词早就存在,用于描述自动工作的机器。这个词的现代含义为人形机器人。Android包含了Android之父Andy和Droid。Droid指《星球大战》中的机器人,是导演乔治卢卡斯捏造的。

Android的形象与一款老游戏中的叫做“Android”的人物相仿。这暂时还没有引起一宗新的专利案。

NASA(美国航空航天局)将一颗搭载Google Nexus One的超小型试验卫星STRaND-1送上太空。Android作为卫星的大脑,收集信息,指挥卫星的运行和通信。如果温度过低,那么系统会增加运行的进程,避免电池过冷。太空轨道上还没有一台iPhone。这一次,Android领先。

STRaND-1
我的第一台Android设备是Motorola Charm,机械键盘,搭载Android 2.1。如今已经走入历史了吧。

欢迎继续阅读“Java快速教程”系列文章
Android的历史与花边的更多相关文章
- 一篇文章让你读懂iOS和Android的历史起源
智能手机虽说是移动电话,但我们完全可以将其作为小型化的电脑来思考.这样一来也能够显示出智能手机OS的高性能.我们首先一起来回顾下智能手机OS的历史. OS的黎明期 其实在很早之前就已经有这样的想法,即 ...
- android sdk 历史版本下载地址
https://developer.android.google.cn/studio/archive#android-studio-3-0?utm_source=androiddevtools& ...
- JAVA Android王牌教程
Java基础 在Java基础系列文章中,我将说明Java的基础内容,特别是面向对象的相关概念. Java基础01 从HelloWorld到面向对象 Java基础02 方法与数据成员 Java基础03 ...
- 【Java大系】Java快速教程
感谢原作者:Vamei 出处:http://www.cnblogs.com/vamei Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品.James Gosling领 ...
- java快速学习
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品 ...
- Java快速教程
作者:Vamei 出处:http://www.cnblogs.com/vamei Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品.James Gosling ...
- [转] Java快速教程
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品 ...
- java Vamei快速教程00
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品 ...
- Java快速教程步伐
Java基础在Java基础系列文章中,我将说明Java的基础内容,特别是面向对象的相关概念. Java基础01 从HelloWorld到面向对象 Java基础02 方法与数据成员 Java基础03 构 ...
随机推荐
- C#项目中文件的具体含义
1.Bin 目录 用来存放编译的结果,bin是二进制binary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin ...
- C#泛型详解(转)
初步理解泛型: http://www.cnblogs.com/wilber2013/p/4291435.html 泛型中的类型约束和类型推断 http://www.cnblogs.com/wilber ...
- 关于Genymotion下载比较慢的解决办法
Genymotion号称Android模拟器中运行最快的,但是服务器在国外,Android镜像下载起来那个速度就不想说了. Add new device后下载速度太慢了,容易失败 先登录,然后add, ...
- centos6.3与jexus5.4.4配置支持php(wordpress)
centos6.3与jexus5.4.4配置支持php,并搭建自己的wordpress博客,供那些在Linux平台下想让 php和asp.net一起跑的初学者参考. 1.搭建webserver 首先准 ...
- Google软件构建工具Bazel原理及使用方法介绍
近期,Google开源了强大的自动化构建工具Bazel. 正好博主近期在使用china版的Bazel--腾讯自主开发的Blade,所以准备跟大家分享一下Google Bazel这个分布式构建系统的原理 ...
- 系统中没有邮件客户端设置autoLink=email会挂掉的问题
TextView的autoLink属性为我们提供了很大的便利性,当文本中有网址,邮箱或电话的时候可以让我们方便地执行打电话发邮件等动作,不过也有一些问题,比如说设置autoLink包含email属性, ...
- Android View.setId(int id) 用法
Android View.setId(int id) 用法 当要在代码中动态的添加View并且为其设置id时,如果直接用一个int值时,Studio会警告. 经过查询,动态设置id的方法有两种; 1. ...
- Microsoft Visual Studio 2013 — Project搭载IIS配置的那些事
前段时间在改Bug打开一个project时,发生了一件奇怪的事,好好的一直不能加载solution底下的这个project,错误如下图所示:大致的意思就是这个project的web server被配置 ...
- iOS-推送,证书申请,本地推送
介绍一点点背景资料 众所周知,使用推送通知是一个很棒的.给应用添加实时消息通知的方式.这样做的结局是,开发者和用户之间,彼此永远保持着一种令人愉悦的亲密关系. 然而不幸的是,iOS的推送通知并非那么容 ...
- WebStrom与Github连接
刚开始接触GitHub,之前都是用git命令来提交代码,很是麻烦~~~,现在通过WebStrom将项目提交到GitHub网站上(简单容易了很多). 第一:webstrom创建项目然后上传到githu ...