有没有发现 Android 系统的性能缺陷被硬件的发展给掩盖了

2022-11-12 15:36:08 +08:00
 Biwood

Android 系统从发布之初就一直面临着卡顿问题,虽说现在芯片升级很多代了,Android 系统本身也升级了很多版本,卡顿情况相比以前少了一些,但是哪怕是各个厂家的旗舰机型,也还是无法完全规避,这应该是 Android 系统的天生缺陷吧。

我自己曾经在 Linux 笔记本上折腾过各种虚拟机,机器配置是十代 i7 + 32GB 内存。在 Linux 上安装 Linux 虚拟机(包含桌面 GUI ),运行基本都很流畅。在 Linux 上安装 Windows 7 和 Windows 10 ,正常使用也没什么大问题。但是在 Linux 安装 Android 虚拟机(用的是最新版的Anbox),在什么都没安装的情况下,卡顿到到几乎不能用。这是否说明 Android 本身就是一个非常吃硬件性能的系统,它在移动端的性能缺陷完全靠硬件的堆叠来掩藏?

然后我了解到谷歌搞了个新系统叫 Google Fuchsia,几乎是把 Linux 内核给重构了一遍,这玩意儿将来应该会取代 Android 吧。

13222 次点击
所在节点    Android
69 条回复
ragnaroks
2022-11-12 17:39:13 +08:00
windows 上的 WSA 运行效率处于可接受范围,应该不是单纯的 android 问题
dcsuibian
2022-11-12 17:42:22 +08:00
孤岛惊魂的“优化”缺陷被硬件的发展掩盖了[狗头]
intva
2022-11-12 17:43:57 +08:00
驴头不对马嘴,硬解开了吗?
fox0001
2022-11-12 17:44:56 +08:00
@ragnaroks #21 WSA 应该是微软优化得比较好。我们用来代替 Android 虚拟机做开发,运行效率堪比原生
1041412569
2022-11-12 17:45:13 +08:00
@Flourite 现在的 Android 应用基本上都是用 c 写的,真没看见哪家用 java
ho121
2022-11-12 17:46:36 +08:00
Linux 下的 Android 虚拟机,用 qemu 做底层的,可以利用 kvm ,一点也不慢。比如 Android Studio 的模拟器。
nguoidiqua
2022-11-12 18:15:05 +08:00
没有什么性能缺陷,同样硬件装 Android Linux Windows 去跑分,有一些差别但没有根本性差距(谁高谁低还不一定)。

不过同样性能下,Android iOS 这些手机系统确实会更卡一些,因为手机系统的日常负载要比电脑系统更高。

对比下 Android iOS UI 的精度和 Windows Linux 上面 UI 的精度,还有动画往往也更多更精细,同样性能下自然更卡。

手机系统是需要带动的传感器要比电脑之类多得多,它后台运行的服务要比电脑系统多得多。

还有个原因是感受的问题,电脑系统上面卡一下和手机系统上面卡一下感知差别很大。

另外,Android 还有个问题,就是突然后台有个 APP 唤醒了好几个关联 APP ,这种情况难免会卡顿。

-----------------------------------------------------------------------------------

还有你上面说的 Anbox 之类,这个和虚拟机装 Linux Windows 对比可能不是和合适(也许是 Anbox 的问题),可以用虚拟机安装 X86 Android 试试。
daveh
2022-11-12 18:15:07 +08:00
@felixcode 确实,今天去实体店体验了一下传说中某 M 系列高端手机,几款不同样机都一样表现,打开 /切换 app 什么的感觉总要顿一下才出来,动画也比较生硬,设置 app 划上划下不跟手,给人感觉是操作了一个远程运行的手机,只是显示在本机,有点用电脑远程桌面的感觉。
还有 V 站经常有人吹的什么 Android 左划全局返回键,不在最左边划根本划不出来,偶尔即使划出来了,也是顿一下才有响应,跟 iOS 那种跟手的左划返回差太多。
WebKit
2022-11-12 18:19:08 +08:00
Android 这几年的性能提升非常大。另外同时代的 Android 旗舰手机的 CPU 性能大概相当于 2 年前的 iPhone CPU 性能。所以硬件差距还是非常大的。
kokutou
2022-11-12 18:30:06 +08:00
x86 模拟 arm 。。。
而且不像 x86 模拟 x86 那么多年了,还有专用指令集。。。
jeesk
2022-11-12 18:57:08 +08:00
卡, 要看你怎么用了。ios 开发对内存的限制非常严格, 导致内存占用过高就会崩溃, 但是 android 的内存限制就没有 ios 严格。 所以说 ios 开发的应用更加适合不折腾的处理,如果要折腾还是得安卓。

android 卡? 我个人觉得是软件卡, 软件体现了开发者的水平和优化程度,这就是为什么原生 android 比国内的第三方 ui 更加流畅的原因。
deorth
2022-11-12 19:04:33 +08:00
纯 技 术
sommio
2022-11-12 19:24:39 +08:00
赞同 @jeesk 的观点,大部分安卓软件都不关心内存使用(或许可以 AOE 到大部分 Java 软件)。安卓实际上在 APP 运行之前预编译 Java 字节码,因此跟编译语言 Swift 是在同一层面上执行的,如果内存管饱的话不会有太大运行速度差异
singerll
2022-11-12 19:29:12 +08:00
先不说安卓模拟器都是 x86 上硬跑 arm ,现在主流的安卓模拟器都是 win 平台的,你在 linux 上装安卓模拟器卡啥也说明不了啊
JohnBull
2022-11-12 19:34:25 +08:00
拿跨架构的模拟器和同架构的虚拟化比较性能,还义正辞严的……
levelworm
2022-11-12 19:46:26 +08:00
@1041412569 难道现在都 native 了吗?
Cooky
2022-11-12 19:49:13 +08:00
anbox 已经过时了,现在都是 waydroid
sommio
2022-11-12 19:54:54 +08:00
@kidlj 喜欢 iOS 动画或许可以试下跑 HarmonyOS UI 的手机[1],相比其它 UI 不会有“顿一下”的感觉,如果华为肯贡献相关代码就好了(

[Animation comparison:
Mate 50 Pro, S22 Ultra, iPhone 14 Pro]( https://twitter.com/UniverseIce/status/1574041039567876096)
geeksammao
2022-11-12 20:14:04 +08:00
@sommio 仅从视频里的动画效果看,19 年的 Android 10 原生就是这个效果了
sommio
2022-11-12 20:26:34 +08:00
@geeksammao 看了下确实是…那就很难理解为什么其它第三方 UI 依旧用“顿一下”这种动画效果了

[Google Pixel 7 Pro vs iPhone 14 Pro Max - Speed Test 1:30]( <amp-youtube data-videoid="ylvcGlOU9dI" layout="responsive" width="480" height="270"></amp-youtube>)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/894703

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX