wwdc2018-深入了解iOS内存

1,125 阅读1分钟

iOS Deep Memory

Why Reduce Memory?

内存是有限且系统共享的资源,一个程序占用更多,系统和其他程序所能用的就更少。程序启动前都需要先加载到内存中,并且在程序运行过程中的数据操作也需要占用一定的内存资源。减少内存占用也能同时减少其对 CPU 时间维度上的消耗,从而使不仅你所开发的 App,其他 App 以及整个系统也都能表现的更好。

Memory Footprint

我们需要减少哪一部分的内存消耗?

screenshot.png

内存在这里分类一下

Dirty 脏内存

指的是不能被系统回收的内存占用,包括 runtime操作的一些类. 图片解码缓冲数据(Decoded image buffers) Frameworks 中的 __DATA 和 __DATA_DIRTY部分

screenshot.png

screenshot.png

clean 干净内存

指的是能够被系统清理出内存且在需要时能重新加载的数据,包括: 例如, UIKit, Framwork

compressed