2016-11-07 29 views
0

我在應用程序啓動時出現了2 100%的泄漏。儀器所述的泄漏物體是CFArray物體。泄漏的對象是CFArray,但檢測到的行會導致泄漏不包含CFArray對象

以下是截圖:

enter image description here

當我點擊一個泄漏對象,並檢查它的保留週期。這是我看到:

enter image description here

然後我點擊的左側,導致泄漏檢查代碼中的線,那麼這想出了:

enter image description here

我問題是,這條線[UIDevice currentDevice].systemVersion.floatValue,儀器狀態甚至不返回任何CFArray對象。所以我不明白這個CFArray是從哪裏來的。

+1

這裏有一個不匹配。我不明白'[UIDevice currentDevice] .systemVersion.floatValue'這行應該是2字節。 * CFArray *泄漏到下面兩行,在'NSArray * wifiInfoList ...'行。這是關於數組(在內部是CFArray而不是NSArray)。棧跟蹤確認這是因爲它包含'__CNCopySupportedInterfaces'。 – Codo

+0

靜態分析器通常很擅長找到這些東西。 – gnasher729

+0

@科多謝謝你! –

回答

0

感謝@Codo。看起來我太關注線[UIDevice currentDevice].systemVersion.floatValue,並沒有意識到真正導致泄漏的是未發佈的CFArray(supportedInterfaces)在else語句下。剛剛做了CFRelease(supportedInterfaces)那麼現在一切都很好。