安卓现状及分析

2020-02-12  本文已影响0人  ambition_3ffc

Android现状调研报告

Android的架构

与其他操作系统一样,Android也采用分层的架构设计,从高到低分别是系统应用层(System Apps),Java API 框架层(Java API Framework),Android系统运行层(包括Android Runtime和原生态的C/C++库 Native C/C++ Libraries)、硬件抽象层(Hardware Abstraction Layer)、Linux内核层(Linux Kernel)

Android和iOS的优劣势

机制的不同
ios系统采用沙盒机制,封闭性比较强,在内存控制方面,iOS系统禁止应用程序在后台运行,只有前台程序可以占用CPU
而Android系统基于Linux开发,开放性极强,即使在休眠状态下,手机上的App仍可在后台任意占用CPU和内存,安装的应用越多,给系统的负荷也就越重,系统速度被大幅拖慢
屏幕反馈带来体验差异
iOS对屏幕反应的优先级是最高的,它的响应顺序依次为Touch--Media--Service--Core架构,当用户只要触摸接触了屏幕之后,系统就会最优先去处理屏幕显示也就是Touch这个层级,然后才是媒体(Media),服务(Service)以及Core架构。而Android系统的优先级响应层级则是Application(应用)--Framework(框架)--Library(图像处理)--Kernal架构,当你触摸屏幕之后Android系统首先会激活应用,其次是框架然后才是屏幕最后是核心架构。
生态差异存在天壤之别
人们常说苹果IOS的生态很强大,其实倒不如说是国内的安卓生态实在是太烂了。因为国内用户无法接入Google Play,各个手机厂商完全各自为政,因此用户体验也是千差万别。
国内安卓手机用户的APP获取途径是极为复杂的,用户不仅从手机品牌官方的应用商店获取APP,也会从各种途径安装到各种来路不明的应用。这就导致了缺乏统一高标准的监管,导致各种因素泄露隐私,骚扰不断,甚至被恶意吸费的损失。
隐私的保护
ios的应用由自家的应用商店进行审查,不合规的应用会直接不予上架,并且一些设备号也被禁止获取,比如:IMEI:国际移动设备识别码,iOS 5 之后被禁止获取,mac地址:包括WiFi mac地址和蓝牙mac地址。iOS 7之后被禁止获取,UDID:与手机绑定,用来标示设备的唯一性 。iOS 6 之后被禁止获取.但是对于安卓,这些权限都可以轻易的取得,安装app后他会给你提示获取权限,不给,就无法使用该app,尽管这些权限和app的作用并没有什么关系,尽管在安卓6.0之后谷歌更新了权限获取的方式,但是也只是对君子不对小人,对于规范一些的App,拒绝就拒绝了。但是对于某些流氓App,就不见得有用了

Android的发展前景和进步

进步
以前的安卓手机总是被人说卡,这与当时安卓手机硬件情况参差不齐,碎片化严重,软件市场没有强有力的干预是分不开的,在安卓5.0这个里程碑式的更新后,谷歌为安卓界面开发采用卡片化,扁平化,在原来的XY轴的基础上添加Z轴的设计理念,最重要的一点是Android运行时由Android核心库集和Dalvike虚拟机改成Android核心库集和ART。两者的区别就是Dalvike虚拟机采用了一种被称为JIT(just-in-time)的解释器进行动态编译,而ART模式则在用户安装App是进行预编译AOT(Ahead-of-time)。将android5.X的运行速度提高了3倍左右,安卓的后续更新也加入了动态权限,Doze电量管理,原生分屏,夜间模式,虚拟按钮等功能,国内手机厂商大打价格战,高性价比手机成为了第一选择,良好的硬件基础加上统一的安卓系统迭代也为安卓的流畅性大大加分
发展前景
Android系统迭代更新10余年,在用户体验、性能、功耗、安全、隐私等方面都取得很大的进步,后续版本会持续在内存、文件系统、虚拟机、图形图像等方向优化。随着Android系统功能越来越多,系统架构中有些模块未来可能会被重构,某些服务大锁制约性能,比如Android 8.0优化过binder大锁让性能显著提升。关于图形方面,Vulkan将会是未来Android平台的一个发展方向,尤其是游戏领域。人工智能在Android系统上目前效果不太显著,Google未来应该还会持续投入,比如在AI预测用户行为加上相应后台管控策略用于提升手机续航。碎片化仍是当下最主要的问题,碎片化也导致用户隐私、安全和体验一致性方面得不到保障,Google专门成立团队致力于Android Mainline,从Android Q开始规划Mainline,未来的版本都将逐步迭代更新。

上一篇下一篇

猜你喜欢

热点阅读