Skip to content
阅读进度

如何理解缺页异常与启动延迟? ​

返回 性能与稳定性 目录

标准回答 ​

进程访问尚未建立有效映射的页面时可能触发缺页。minor fault通常不需要从存储读取目标页,major fault可能涉及I/O;具体类型还受映射和回收状态影响。

启动需要读取DEX、资源或动态库,页缓存状态会影响耗时;内存压力下曾经可快速访问的内容也可能需要重新取回。没有显式read调用不代表没有存储等待,mmap访问也可能缺页。

联合观察缺页、线程状态、块I/O、内存压力与代码/资源布局。减少不必要加载、改善局部性或减少大范围随机读取,比简单把所有数据提前加载到内存更有针对性。

追问与回答 ​

第二次启动更快,能证明代码优化成功吗 ​

不能。页缓存、编译和预热状态可能变化。必须控制实验条件,再把变化归因到代码。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。