是谁毁了我们的安卓应用?

做过android开发的程序员都知道,在开发一款android软件的时候往往要考虑到各种适配的情况。例如几个比较常见的就

是屏幕的适配和系统版本的适配。从屏幕来看由以前的手机屏幕到现在的平板屏幕,从以前的低分辨率

屏幕到现在的高分辨率屏幕,都在不断的变化。还有就是android的版本从最初的android 1.5(纸杯蛋糕)到现在的android5.0(棒棒糖),每

到一个版本都有很大的变化,其性能上也有很大的提升。虽然相比较于以前android的最初版本到现在的android5.0有了很大的改善,但是

版本的过渡也给程序员带了很的困扰,例如:如果想要用新版本的一些特性,但又要考虑到以前版本的兼容。所以往往在开发的一款android软件

时候都是基于最低的SDK版本来进行开发的。就目前来看各个版本的市场占有率:

具体数据为:

“果冻豆”系统(Android 4.1.x和Android 4.2.x)占有率攀为37.9%;“姜饼”系统(Android 2.3.x)占有率为34.1%。

“冰淇淋三明治”(Android 4.0.x)为23.3%;“蜂巢”(Android 3.2)仅为0.1%;Android 2.2占有率为3.1%;Android 2.1为1.4%。

而谷歌6月初发布的数据显示:“姜饼”系统占有率最高,达36.4%;“冰激凌三明治”(android4.0)占有率为25.6%;android4.1/4.2“果冻豆”占有率为33%。

通过以上数据可以看出虽然大部分的用户所用的系统版本都是在android4.0以上,但是android2.3.x的市场占有率也有很多。

所以对于android开发者来说开发一款android软件想要获得更多的用户量,就要适配到合适的android SDK。作为android开发者来说要想获得很好的

用户体验,往往要考虑到以下几点:

一、 屏幕适配

在开发过程中最让android开发者蛋疼的便是屏幕适配问题,最常用的做法就是适配分辨率较低的手机。虽然能够适配到低分率的手机,但是如果相同的

布局放到高分辨率的手机时。显现的效果却又大相径庭,所以往往android开发者会采用自定义控件来适配手机屏幕,从而达到相同的显示效果。往往很多人

都觉得苹果手机的显示效果非常的细腻。其实可以对比一下早期苹果和android手机分辨率,早期比较流行的iPhone4的分辨率是960×640像素。 

iPhone4采用3.5英寸IPS屏幕,同时加入了新的Retina Display(视网膜)显示技术,每英寸的面积里有326个像素,通常电脑显示屏幕的分辨率为72ppi,

iPhone4的分辨率为电脑的4倍多,所以显示会非常细腻。android早期比较流行的分辨率主要是480*320像素,从这可以便苹果手机为什么这么贵的原因了。

就目前流行的android和苹果来看,也是有很大的差距。下面是三星GALAXY S5、小米4和iphone6 plus的分辨率。

可以看出作为android开发者来说要兼顾到多少的手机适配从480*320像素到 1920x1080像素。而且这其中的像素过渡也是比较长的,这里像素过渡主要是

不同像素的版本还是存在的。原因在于现在还有不少的国内手机厂商所用的屏幕都没有一个稳定的版本,往往低端手机的屏幕分辨率都是相对较差。而高端

手机的分辨率都是比较高的。其实相对于android开发者来说,苹果开发者还是比较幸运的,因为就目前苹果手机过渡的几个版本来看无非就是iphone4~iphone6。

所以对于屏幕适配,苹果开发者考虑的还是比较少的。这也是为什么同一款应用,在android手机上的显示效果比苹果差的原因。其实还有一部分原因在于苹果

本身,细心的可以发现苹果对于ui的过渡处理都是优于andorid的。所以屏幕适配是影响android应用的原因之一。

二、android系统版本的适配

通过上面的android系统版本的市场占有率来看,作为android开发者肯定是要考虑到android系统版本适配的问题。一般就目前来说,作为android开发者来说

一般适配的android系统版本主要是针对2.3.x以上的系统版本。其实早期的几个比较经典的版本主要就是android2.2.x和2.3.x这两个版本,所以虽然目前最高的

android系统已经发展到android5.0。但是仍然有不少的用户还在使用2.2和2.3这两个系统版本。其实这里面也有手机制造商的原因,在android早期的时候手机制造

商们在手机里面嵌入系统时。并没有考虑到用于在拿到这款手机后系统升级的问题,因为他们宁愿让用于去重新买个最新系统版本的手机。也不愿用户在原有手机

的基础之上进行系统升级,也有可能是早期的手机并不能正常的运行着些高版本的系统。其实每一版的系统都有着很大的改变,其中比较失败的还是android3.0。因为

这个版本主要是适用于android平板。处于这个原因Google公司在2011年10月19日,仓促的发布了android4.0。该系统将手机与平板设备进行整合,拥有全新的UI界面

和Linux内核,支持虚拟按键。其实我们可以对比下两android系统版本所更新的内容,从中可以看出在基于低版本android系统开发和高版本系统开发对于应用有哪些影响。

以下对比出早期比较经典的android2.3和目前市场占有率较高的android4.0这两个版本的比较:

android 2.3更新内容                                       android4.0更新内容

增加了新的垃圾回收和优化处理事件                          全新的UI界面

新的管理窗口和生命周期框架                                全新的Chrone Lite浏览器,支持离线阅读、标签页、隐身浏览模式等功能

支持vp8和WebM视频格式,提供AAC和AMR宽频编码,             截图功能

提供了新的音频效果器                                      更强大的图片编辑功能

支持前置摄像头、SIP/VOIP和NFC(近场通信)                 自带照片应用堪比Instagranm,可以加滤镜、加相框,进行360°全景拍摄,照片还能根据地点来排序

简化界面、速度提升                                        Gmail加入手势、离线搜索功能,UI更强大

一键文字选择和复制/粘贴                                   新增流量管理工具,可具体查看没给应用产生的流量

改进的电源管理系统                                        正在运行的程序可以像电脑一样进行相互切换

新的应用程序管理方式                                      人脸之别功能,同时前置摄像头可以进行面部解锁

增加In-app purchases功能                                  系统优化、速度更快

支持虚拟按键,手机可以不再拥有任何按键

更直观的程序列表

平板电脑和智能手机通用(这也是为什么说android 3.0是一个失败的产品原因)

支持更大的分辨率

专为双核处理器编写的优化驱动

全新的Linux内核(android 4.0已经采用的Linux内核版本是3.0)

增强的复制粘贴功能

全新的通知栏

更加丰富的数据传输功能

支持更多的传感器

全新的3D驱动,游戏支持能力得到提升

全新的谷歌电子市场(Google Play)

增强了桌面插件自定义功能

从这两个系统版本更新内容对比来看,早期的android系统与现在的高版本系统还是有很大的差距。这也是为什么有的android应用做的这么好,往往就是用到了

高版本的系统中的一些特性。其实对于android开发者来说基于高版本的android开发又何不是一种福利,说个简单的例子:android4.0中的动画就可以采用属性动画

而在2.3中是不支持的。属性动画要比2.3中所采用的动画更为简洁,一句代码即可搞定。但是往往我们需要考虑到用户量的原因,就不得不采用低版本的android SDK来开发应用。

三、应用内存的处理

很多的android开发者在开发过程中往往都注重在对于应用效果控制,而很少去管理自己的应用内存。使用过android手机的都有同一种感觉,那就是当手机所安装的应用过多的时候

就会出现手机卡顿或死机的情况。而且当应用装到一定的个数的时候往往就不能再安装应用了,其实也有很多的android用户抱怨说android太卡,运行程序特别慢。刚买的新手机还特

别流畅,当安装的个数逐渐增多的时候。便会出现这种情况,就算把应用卸掉还是没有以前那么流畅。只有将手机恢复出厂设置才会好一点,这也是为什么有很多的android用户转而投向苹果用户

其实主要原因有几下几点:1、android系统是允许后台长时间进程,一般的android应用都会通过应用启动后台服务和开机启动服务。除非在内存非常紧张的情况下才会将一些长时间没用过的

后台服务干掉。这也是android和iphone的区别之一,iphone是不允许长时间后台服务的。在一定的时间内,系统会自动将服务干掉不管你是否重要。这也是为什么苹果1G的运行内存用起来一点都不

卡的原因。就目前android设备来看,1G的运行内存已经不能满足用户的需求了。2、android应用存储在本地的数据量特别大,下面是截图的几个应用安装后所占用的内存。大家所熟悉的QQ,所占用的内存

是84M,单单就是数据存储就是54.7M。可想而知如果装的android应用越来越多,肯定是内存不够的。3、卸载应用数据保留,android应用在安装到手机之后往往会产生大量的数据。然而当用户将软件卸载后

这些数据并没有像用户想象的那样消失,而是存在了本地。其实可以想象下装了10应用,每个应用的数据占用内存是50m,卸载后留下的数据就是500M。可想而知对手机的内存影响有多大。

有问题就是有需求,这也是为什么会出现清楚残留垃圾的软件(360卫士,百度手机管家)

总结:以上分析纯属个人理论,具体的以实际为准。其实想要推动android的发展往往并不是手机制造商制造更好的手机,更需要的是android开发者能够做出更好的应用来吸引用户。

只有这样android才能立于不败之地,我想这也是为什么Google会将android开源。纵观android的发展,不得不说是一个奇迹的存在。为此,希望大家共同为android的发展努力。

时间: 2024-11-07 02:23:46

是谁毁了我们的安卓应用?的相关文章

Kotlin 语言高级安卓开发入门

过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton 在他的 Øredev 的讨论中,提到了 Kotlin 是如何通过提升安卓开发的语言特性和设计模式来解决这些严重的问题,通过这些方法你可以清除那些无用的 API 还有无效代码.充分利用扩展特性来解决你的开发中的模板性代码的问题! 为什么要推广这个语言? 好吧,大伙.欢迎来到这里.我们今天的主题是使用

解决安卓手机键盘弹出时会把背景或百分比定位的布局压缩的问题

做移动端页面时经常遇到以下案例,在有背景的页面上写表单,而且底部为了适应不同手机还得运用绝对定位,因为通常是把容器高度设为了100%,这时在安卓手机上弹窗软键盘时就会把背景图片及其他东西挤压上去,解决方法如下: 在css样式中把大容器定义为fixed布局 .wrap{ position:fixed;left:0;top:0; } 在js中强制把页面的高度覆给他,就相当于自动撑开 var x =document.body.clientWidth; //查询设备的宽度 var y =document

对安卓未来的看法

Android在初期的时候,完全没有苹果好,甚至被苹果各种秒杀,但是反观现在呢,安卓的发展速度可以说是井喷式发展,慢慢的取代苹果系统,成为市场份额最大的系统,影响力越来越大.以前的安卓系统,之所以被苹果影响而无所闻,因为有很大的缺点不足,系统用半个月一个月就会很卡,使用体验不强,就失去了客户流量.但是现在Andoird可自由的刷机和改自己喜欢的UI,各种美化,达到自己喜欢的效果为止,其系统无一例外的非常的成功.但正是因为开源,所以安卓系统的手机安全性能不高,被入侵的风险较大,这也是将来慢慢改进的

《未来的夏娃》观后对安卓未来的看法

看了<未来的夏娃>就知道其实这本书和安卓系统没多少关系.只是其中的女主人公也叫"安卓". 我用了几个手机,系统都是安卓的,对比了一下苹果手机.感觉速度没那么快些,应该说两种系统都有优缺点吧. 本人虽然对安卓不是很了解,但是对Java还是知道一点的,这是一种面对对象的语言. 它的jdk使其有跨平台性的优势,这就促成了它的兼容力,使之在这个网络横行的时代具有更强的客源优势.特别是移动客户端,现在几乎是人手一部手机,说明移动系统具有强大的潜力,而且安卓系统的开源性,使之更加大众化

ionic 打包安卓包

一.配置环境: 先按照之前的文章,配置好环境需要: 二.安装 1. 这里前提是 需要安装  node (地址: http://nodejs.cn/download/) 命令: node -v   //返回版本号 查看自己是否安装过node,如果没有安装,请访问上面地址 进行安装: 2. 使用npm安装Cordova和 ionic npm install -g ionic cordova 如果长时间没有安装成功,则使用 cnpm 淘宝镜像进行安装: 首先安装 cnpm : npm install

安卓前景分析

作为现阶段手机市场的两大操作系统之一,iOS作为现在手机操作系统的高端代表,有着其手感优益流畅的巨大优势,并且有着专门的应用平台,有着自身独特的发展手段.作为竞争对手的安卓,则有一种百家争鸣的感觉,没有绝对的通知力,市场都是靠自己对安卓平台的理解,开发与应用来争取的.正所谓说,是骡子是马拉出来遛一遛就知道了.这里是有能力者寻觅成功的战场,是战场就不会没有硝烟,ios等平台可以说不是安卓的最大对手,最大的对手往往是同行业的安卓手机,在这种安卓机百花齐放的情况,选择的权利就掌握在消费者的手中,只有更

安卓未来发展前景

众所周知,安卓之所以能迅速占领80%的手机市场,很大一部分原因是因为:开源. 有人曾这样做比喻:开源就好比公开一栋房子的结构图纸,有了图纸的人可以拿这份图纸建造一栋一模一样的房子,也可以叫懂行的人帮你优化这原来的设计造一栋新版本的房子.没有开源就好像没有结构图你要仿造一栋房子只能仿造表面相似,结构性能可能相差很远,可能根本经不住用户多堆一点东西就变形垮塌了. 而我以为,开源是让开发者站在巨人的肩膀上工作,开发者不必将更多的时间花在"画图纸"上,相反可以将精力放在如何优化"建筑

对安卓未来前景的看法

在说安卓之前,先说说自己对以前的塞班的感受吧,个人对塞班记忆是当时的一个诺基亚的按键直板机,记得当时只要是从应用商店下载的游戏,都是运行的非常流畅,就是那种你可以同时运行几个程序没感觉,qq挂到手机没电,但是游戏都是很少用正版的都是在各个网站上下载破解版的,然后就有那种教程可以自己破解游戏,后来过了一段时间诺基亚出了一款5230的手机,当时就是觉得这个怎么这么赞,游戏还有重力感应的.然后就到了一个智能机爆炸的时代,安卓.塞班.ios.Windows五花八门的,对于一个特别爱玩游戏的人来说,系统怎

Eclipse+ADT+Android SDK 搭建安卓开发环境

要求 必备知识 windows 7 基本操作. 运行环境 windows 7 下载地址 环境下载 最近开接触Android(安卓)嵌入式开发,首要问题是搭建Andoid开发环境,由于本人用的是windows7的笔记本,也就只能到Windows中搭建Android 开发环境了! 就搭建环境都花了比较长的时间, 在各种版本之间折腾了比较久的时间, 装好后SDK包更新又是一个比较大的麻烦(天朝的网络大家懂的--).下面把我的安装过程和经验分享个大家!! 安装JDK 这里可以参考我之前写的一篇关于安装J