Optimization Level
新建項目,運行,默認即為 Debug 模式,在 Build Setting 下 搜索 optimization 就可以看到,
Optimization Level
可以看到 Debug 模式下無優化,而 Release 模則為 最優,優化過濾掉未使用,不需要等垃圾代碼。(在不影響結果的情況下優化)
優化等級
APP代碼執行過程
以 iPhone X 為例,搭載的為 A11 CPU,兩級高速緩存。
訪問速度:
寄存器 > 1級高速緩存 > 2 級 高速緩存 > 內存 > 磁盤
代碼加載則剛好反過來,2 級高速緩存為 8 MB,可以加載最多 8 MB 的代碼, 一般小的項目基本上可以全部加載完!
后記--多線程的補充
我們 APP 運行時,肯定是多線程的,由 CPU 協調各個線程,其實是由 操作系統來管理的,在切換線程時會對當前線程的寄存器做一個保護,切換的時候就可以繼續訪問,而不用關心寄存器的值是否被改動。
所有關于多線程的保護,防止資源搶奪都是對內存的保護。