谈谈 Android

现在的手机操作系统似乎又回到了当年 PC 系统的状态,一个是以开放为核心的 Windows 操作系统(是的,Windows 是一款硬件开放的操作系统),另一派是软硬件完全封闭的 Mac 操作系统。在当前手机市场,除了 Windows 换成了 Android ,历史似乎又重演了一遍,只是 Apple 不再是那个被 Microsoft 打压的抬不起头的公司,而成为了手机市场中无可撼动的霸主。

这篇主要是吐槽 Android ,为示公平下一篇吐槽iOS :)

在这场手机设备的竞争中,我觉得 Android 有以下几点没做好:(下文叙述的软件指操作系统或应用程序)

1.Google 开放了硬件,但是也开放了软件

当年 Microsoft 只是硬件开放,硬件随便折腾,Microsoft 操作系统把硬件折腾出的乱七八糟的东西全都盖住,开发者不受罪。前几年我试过在 Windows7 32bit 上运行 Windows3.0 的应用程序,一切正常。反观 Google,不但硬件开放,软件也开放,其实软件是完全属于自己的部分,软件的蛋糕就这么大,开放了这部分就相当于削弱了自己的力量,结果就是谁都到 Android 里插一脚,Google 失去了对软件的完全控制,难受;厂商想控制但是心有余力不足,难受,用户面对这么多变种系统,无所适从,难受。就目前的状态,在这场开放里没有人是赢家,大家为自己的利益相争,像是功夫片里三个相互卡住的敌人,除非三人能一起醒悟,否则是谁先支撑不住谁先死了,剩下两人再挣的你死我活。当然这种开放在之前还是有过好处的,诱厂商上钩,扩大自己的市场份额。

2.上马太仓促,方案没选好

Android 开发语言使用 Java 的目的很明确,Java 的环境成熟,能更快的开发出应用程序,但是 Google 没想到或当时无暇顾及到的就是 Java 虚拟机导致的卡顿和费电问题,这个问题成了 Android 的老大难问题,直到4.X的版本才开始有所好转,但是Android 这么多年的发展,Google 很难再拿出新的可以替换 Java 的新语言,这让 Android 处于一个非常别扭的位置,因为同样水平的程序员写代码, 用的 obj-c 肯定会比用虚拟机的 Java 语言更快一些。Google 可以无限缩小这个差距,但终究是比 obj-c 慢,在运行速度和省电方面永远处于劣势。如果当年 Google 选择了 C++ 也许会把现在的局面逆转,或者至少是对等的水平。(题外话,可能有人提出 C++ 语言复杂,开发费时的问题。这个应该分成两面看,C++ 提高开发门槛的同时也能提升应用质量)

3.Android 系统过度开放

也许是为了向开发者示好,Android 系统太开放了,开发者几乎可以做任何事情。历史经验告诉我们,如果给对方过度的自由,对方必然会做出对己不利的事情,这里两个对立面是系统和软件开发者。根据“太极”任何事情都有正反面,考虑正面的同时也要考虑反面,也许是 Google 求市场份额心切,或者是受开源开放的思想影响,或者是为了给开发者创造更大的舞台,毫无疑问,Android 系统开放过头了,任何应用都可以读取你的短信,通话记录,个人照片,只要在配置文件里写上除非你不安装,安装就一定要同意的权限。有人看到了这个市场,开发了安全类软件,可以在安装软件的同时限制应用权限,但是这个安全类软件反倒是个讽刺,因为需要比普通应用更过份的 root 权限。更可怕的是安全软件在没有 root 权限之前和普通软件没什么区别,也就是说任何软件都可以有机会获取 root 权限,这实在不能不说是设计上的一个缺陷。

4.系统性能过剩,只为了跑分

现在各家的 Android 机皇,随便哪一部拿出来参数都比 iPhone 高,但是没有一家敢说自己在体验上完全超越了 iPhone,厂商自己最清楚,这些参数不过是跑分用,真按着顶级参数跑程序,不但能煎鸡蛋,而且几小时手机就没电了。消费者平时使用的 Android 手机,是被降频并且可能关闭了部分核心之后的手机。美名曰“动态核心控制”,更省电。换一个角度想,就是厂商为了让消费者手中的手机能降频使用煞费苦心,宣传上标高参数,实际却做着完全相反的事情,真让人哭笑不得。

Android 系统的开放也有好处,比如来显归属地,垃圾短信拦截,输入法,自定义桌面等等。但是与上面的问题相比,无法让人欢呼雀跃的喊出一声:“这一切值了!”。

谈谈 Android

时间: 2024-10-11 23:57:34

谈谈 Android的相关文章

谈谈android反编译和防止反编译的方法(转)

谈谈android反编译和防止反编译的方法(转) android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的项目就需要知道怎样防止反编译和反编译他人的项目来学习. 2.3版本以上在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”可以对代码进行混淆,反编译后是很难看懂的. 2.3之前的SDK版本也没关系,把上面的progu

访何红辉:谈谈Android源码中的设计模式

最近Android 6.0版本的源代码开放下载,刚好分析Android源码的技术书籍<Android源码设计模式解析与实战>上市,我们邀请到它的作者何红辉,来谈谈Android源码中的设计模式,以及近期Android开发中的一些热点话题. 受访嘉宾介绍: 何红辉(@MrSimp1e),前友盟Android工程师,活跃于国内各大技术社区,热爱开源,热爱技术,热爱分享.Android开源库 AndroidEventBus . Colorful 作者, 开发技术前线 站长,<Android源码

转 谈谈android反编译和防止反编译的方法

谈谈android反编译和防止反编译的方法 android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的项目就需要知道怎样防止反编译和反编译他人的项目来学习. 2.3版本以上在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”可以对代码进行混淆,反编译后是很难看懂的. 2.3之前的SDK版本也没关系,把上面的proguard

谈谈Android的Service

Service是Android系统中的四大组件之一,它与Activity不同,它是不能与用户交互的.它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序.        1.Android中的服务没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序.服务的开发比较简单,如下:                                  第一步:继承Service类                                            

谈谈-Android中的接口回调技术

Android中的接口回调技术有很多应用的场景,最常见的:Activity(人机交互的端口)的UI界面中定义了Button,点击该Button时,执行某个逻辑. 下面参见上述执行的模型,讲述James对Android接口回调技术的理解(结合前人的知识和自己的实践). 使用一个比喻很形象地说明:客户端有个疑问打电话请教服务端,但服务端无法现场给出解答,相互之间约定:服务端一旦有答案,使用电话的方式反馈给客户端. 以上有三个主体:客户端.服务端和接口(方式). 接口回调的原理框图说明: Demo界面

理解Android中dpi和分辨率的关系,谈谈Android做成适应全部手机的UI方式

http://blog.csdn.net/ueryueryuery/article/details/20048401 最近我在做一个界面,UI给的切图是1280x720这个分辨率的,给的标注单位是px(像素). 我把原图自然而然地放在drawable-xhdpi中,然后开始调整布局(当时我默认1dp=2px).把这个布局放到一个720P的电视上,发现完全变形了,奇囧无比之际,看了下电视的density,发现这货是1,这是一个mdpi的设备!!! 然后我就开始想了,720P的切图,要放在xhdpi

谈谈Android系统启动时的那点事儿

Android系统完整的启动过程,从系统层次角度可分为Linux系统层.Android系统服务层.Zygote进程模型三个阶段:从开机到启动Home Launcher完成具体的任务细节可分为七个步骤,下面就从具体的细节来解读Android系统完整的初始化过程. 一.启动BootLoader Android 系统是基于Linux操作系统的,所以它最初的启动过程和Linux一样.当设备通电后首先执行BootLoader引导装载器,BootLoader是在操作系统内核运行之前运行的一段小程序.通过这段

谈谈Android 6.0运行时权限理解

前言 谷歌在2015年8月份时候,发布了Android 6.0版本,代号叫做“棉花糖”(Marshmallow ),其中的很大的一部分变化,是在用户权限授权上,或许是感觉之前默认授权的不合理,现在6.0出来,使得用户权限授权变得合理.这可能也是参考IOS系统的,只有在用户需要使用权限的时候,才去授权请求,这样做的目的是提高用户体验,当然,用户感觉好了,受苦的是我们开发人员,原来的规则不适用了,现在我们去适应新的规则,毕竟是靠谷歌这颗大树吃饭的嘛. 原来权限模型 在Android 6.0版本之前,

谈谈Android重打包

写在前面的话 仅以此系列献给喜欢我CSDN的小伙伴们 申明 此文禁止转载,谢谢合作 序言 在开头说这会是一个系列,那就说明我有很多话要说.从最简单的介绍到问题的提出,解决方案的构思以及整个系统的架构实现测试都会在这个系列里一一说明.如果你还在迷茫该怎么去深入一个问题,一点点解决,那我尽力会通过这个系列让你有一点点感悟.如果你已经一览众山小,那么请给我多多提出建议. 不管你是何种程度的程序员,我的目的只有一个,这是写给大家看的东西.会用最简单最直白的方式表达,如果你不理解,一定是我的问题,你可以及