內存泄漏是動態分配的內存塊,在程序的數據空間中任何位置都沒有指向它的指針。這類塊是孤立內存,因爲沒有指向這些塊的指針,程序沒法引用他們。ide
內存泄漏會致使App所佔用的虛擬內存增長,且一般產生內存碎片,影響App及整個系統的性能。函數
一般狀況下,致使內存泄漏的緣由是未釋放分配的內存,而又丟失指向分配塊的指針。工具
Xcode的Instruments裏面有一個Leaks工具,能夠幫助你定位發生內存泄漏的代碼段,以便修復問題。性能
經過Xcode-Open Developer Tool-Instruments打開Instruments面板,選擇Leaks工具,打開後界面以下圖:3d
選擇Target,在右下角Display Setting面板的Call Tree,勾選Invert Call Tree和Hide System Libraries,方便接下來咱們迅速查找有內存問題的代碼段。指針
點擊Recorder Button開始監測,出現下圖紅色X號,表示此處有內存泄漏問題。code
在時間軸上拖拽選擇X號先後區域,能夠在左下面板看到所選時間段內調用的函數棧。blog