查看原文
其他

支离破碎的 Android

程序人生 2019-06-21

【程序人生 编者按】Android 号称拥有 75% 的市场份额,但是粗略计算下可以发现,Android 生态系统能分为至少 1728 种操作系统+品牌+设备模型的组合,而且这些设备中的大多数都无法更新 Android 系统。那么现在的 Android 生态是否已经呈现出“支离破碎”的窘态了?

作者 | https://eggonomy.com/

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

Android陷入了非常严重的分裂状态。



Android支离破碎?




Android号称拥有75%的市场份额——这话虽然没错,但是深入研究上图你就会发现……


  • Android拥有75%的市场份额;

  • Android Pie占Android市场总额的11.26%;

  • 三星占Android Pie市场总额的5.0%;

  • 三星Pie进一步分裂成了12种不同型号的手机设备。


看明白了吧?


我猜,Android有:


  • 12个操作系统版本;

  • 12家主要设备制造商;

  • 平均每家设备制造商拥有12个手机型号。


粗略计算,Android生态系统可以分为至少1,728种操作系统-品牌-设备模型的组合,这些设备中的大多数都无法获得Android系统的更新。然而,Google会从这些设备中收集大量数据,用于定位广告的展示位置。


Google承认了这个问题,而且还推出了Android One。然而,鉴于每个设备制造商都想要自己的Android风格,所以这种分裂在短期内并不会停止。


这个问题只能等待时间来解决——或许还需要再等五年,等用户把旧的设备扔进垃圾桶,并购买一台能提供更新的Android设备。


相比之下,iOS 12.X拥有约80.5%的市场份额,绝大多数iPhone用户都可以迅速获得完美的最新版本更新。


我认为:在操作系统市场份额方面,苹果大幅领先。



开发者们怎么看?



对于以上的观点,Hacker News上的开发者们发表了不同的看法。


评论1:


我从事的领域就是Android应用,主要针对北美市场。


我们的Android设备中88%都是Android O、P和Q。到目前为止,我从来没考虑过分裂的问题。Jetpack库作为操作系统和第三方应用之间的抽象层,可以帮助我们处理好这个问题。


但是,相机应用是一个例外:硬件的分裂可能会很痛苦。我惊讶地发现Google也在处理camera x库。


有些时候,我们确实会遭遇分裂的问题,将来可能也会出现这种情况(然而我的iOS同事有时也需要创建特定的修复程序),但是印象中上一次遭遇特定设备的bug那还是几年前的事儿。


因此,我不太赞同上文的观点。


评论2:


据我所知,Android并没有分裂,只是一堆设备通过差不多数量的Android系统运行大多数应用而已。


应用不关心Android版本,它们只关心你拥有的API支持,并且应用可以在运行时检测API的支持并进行调整。


另一方面,上文中没有提到苹果公司不允许你支持EOL之后的设备,而即使是现有的一些古老的Android也可以在最新版的Android系统上运行,只要你愿意自行升级ROM。


通常,手机硬件在3-5年后就会逐渐被淘汰,而有些旧手机只是因为用户长期持有且坚决不升级ROM,最终这些手机都会成为Android的分裂版本。


评论3:


一般来讲,应用主要的要求有:


  • 原生UI元素(标签,文本字段,图像,列表视图等);

  • 标准格式的图像(png,jpeg等);

  • 网络请求:一次获取不超过100kb的数据;

  • 简单的触摸交互(单击/拖动/滑动);

  • 读/写内部存储;

  • 播放音频。


如果是这样的话,那么Android版本的分裂可能并不是问题。而且如果你的应用只想要在视图之间和网络之间来回移动文本块,那么Android的分裂也不是问题。


但是,如果你需要:


  • openGL或3D图形调用;

  • 读/写可移动存储;

  • 视频流,HLS流,甚至是本地视频文件播放;

  • 下载/通过网络提取大量文件/数据;

  • 多点触控UX;

  • 使用相机:后置、前置或具体的相机使用;

  • 硬件传感器/广播/接收器访问(陀螺仪,加速器,手电筒,蓝牙);

  • 操作系统操作(自定义键盘,替换默认电话/短信,修改共享视图等本机模式,在OS中注册为共享目标等)。


那么你就不得不忍痛割爱,丧失一大批用户群了(你可能需要手动指定,尽管Google会帮忙),或者顽强地通过自定义的逻辑编写大量操作系统检测语句来处理这些情况。凡是包含上述4条以上内容的Android应用都会遭遇Android分裂的问题。


参考链接:


https://eggonomy.com/blogs/news/how-fragmented-is-android

https://news.ycombinator.com/item?id=20015968

为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:极客宝宝(ID:geek_baby)

戳他了解更多↓↓↓

 热 文 推 荐 

不得了!这个 AI 让企业家、技术人员、投资人同台“互怼”

重来一次高考,你还选择当程序员吗?

我在瑞典当码农 | 程序员有话说

超严格!大项目中程序员的时间分配…… | 每日趣闻

☞直接拿来用!灵跃模组机器人硬核评测(编程篇)

☞容器云常见安全威胁与防范 | 技术干货

敲诈团伙将黑手伸向宅男, 你在家看不可描述的视频, 竟被骗走100万美元!

各方最新回应!如何看待IEEE官方声明“学术禁令”?

代码整洁之道-编写 Pythonic 代码

☞敲代码时,程序员戴耳机究竟在听什么?

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存