Android 系统启动为什么这么慢,到底在做什么?为什么做不到 2 秒内冷启动?

109 天前
 drymonfidelia
7002 次点击
所在节点    Android
38 条回复
Falcon1
109 天前
模拟器能做到 2s 启动
vate32
109 天前
现在快多了吧,当年 android2.3 的时候,国内的山寨机开机启动要 2 、3 分钟
Yzh361
109 天前
苹果每次开 cidya 都要等老半天,不知道在干些什么。。。
J0N
109 天前
手上烂果和安卓比较过,都是慢。
aliveyang
109 天前
因为没有这方面的利益需求
GeekGao
109 天前
楼上的几个网友都提到了,再总结下:

硬件自检和驱动加载
Linux 内核初始化
ART 启动和预加载
系统服务启动
应用预加载

--
关于:为什么不能开完机再自检?

硬件初始化优先。系统必须先确保所有硬件组件正常工作才可以进入内核加载和初始化阶段这是运行用户空间程序的基础。 所以跳过这个阶段,初始化咋能保证顺利完成呢? 就像蛋碎了,就不能孵化出小鸡了。
SkywalkerJi
109 天前
这就是 windows 的牛逼之处了。Android 缺一个 360 告诉你每次开机花费时间。
fugu37
109 天前
看了一眼手机,已经 948 小时没有关机了,上次关机应该是更新系统
jim9606
108 天前
设计上都没让你经常开关机,所以也没有花精力去优化开关机速度。
windows 是因为扭转不了用户习惯才决定把关机做成睡眠的。
zim298247
108 天前
@nyxsonsleep alpine:是的
kylo1989
108 天前
@Jinnrry 我家里电视,Tizen 可以做到秒启动,就算是断电之后插电都可以秒启动,实现原理就不太清楚
Narcissu5
108 天前
@miaosl 毕竟安卓是基于一个 Linux 的 java 虚拟机
---------------------------------
虽然本站黑 Java 是日常,但是这条评论还是让我打开眼界
icedx
108 天前
能, 但是贵

所以在消费级产品上往往没有意义


比如从 Bootloader 阶段就直接加载内核, 这个需要硬件厂商配合
还有直接将初始化好的镜像从闪存装入到内存
这种对硬件(闪存读取速度) 要求高, 还会降低安全性
bugmaker233
108 天前
我说话难听...就不说了😅
815979670
108 天前
我能想到的是车载导航的安卓系统?每次打火都是 冷启动 会有这个需求?
yakun4566
108 天前
微信冷启动也得两秒吧,感觉操作系统要做的事情比微信更多
Chinsung
108 天前
@Narcissu5 #32 linux 俗称 jvm 启动器😠
noErr
108 天前
不刚需,刚需的一定会做的

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

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

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

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

© 2021 V2EX