2016-11-07 1 views
0

アプリケーションの起動時に100%漏れが2回発生しました。計測器が示すように漏れたオブジェクトはCFArrayオブジェクトです。私は1つのリークオブジェクトをクリックすると、それはサイクルを維持しますチェックすると漏洩したオブジェクトは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 ... '行の2行下に漏れます。これは配列に関するものです(内部的にはNSArrayの代わりにCFArrayです)。 stacktraceは '__CNCopySupportedInterfaces'を含んでいるのでこれを確認します。 – Codo

+0

スタティック・アナライザーは通常、これらのものを見つけるのに非常に優れています。 – gnasher729

+0

@Codoありがとう! –

答えて

0

@Codoのおかげです。私はあまりに多くの行に焦点を当てているように見えると、実際にはリークの原因は、他のステートメントの下にリリースされていないCFArray(supportedInterfaces)であることを認識していませんでした。ちょうどCFRelease(supportedInterfaces)をして、今はすべてが問題ありません。

関連する問題