2

メモリ リークを確認するためにテスト プロジェクトを作成しました。プロジェクト ファイル: https://dl.dropbox.com/u/3703182/PickerView.zip

基本的に、UIPickerView は IB を介してデータソースに接続されます。データソースに接続すると、リークします。そうでなければ、漏れはありません。残念ながら、リークのために2時間ごとにクラッシュすることが保証されています. メモリリークがあってもクラッシュせずに UIPickerView を使用するにはどうすればよいですか?

編集:シミュレーターではなく、デバイスでのみリークします。

4

4 に答える 4

1

それは漏れではありません。割付です。リークの場合は、2 行目に赤いスパイクが表示されます。リークの実際のテストは、表示と非表示を数回繰り返すことです。それができて、割り当てが増え続けることを示すことができれば、リークがあります。そうでなければ。

于 2012-11-20T12:01:47.677 に答える
0

これは制御できるリークではなく、内部的なものです... しかし、これは非常に少量のメモリであり、アプリケーションがクラッシュすることはありません。これが 1 時間後にどのように見えるかを知りたいのですが... クラッシュのバックトレースを提供していただけますか? これはおそらく、クラッシュの本当の原因を特定するのに役立つでしょう。

于 2012-11-20T22:41:40.980 に答える
0

これがリークしている Apple ライブラリです。これについては何もできません。アップルのせいです。

于 2012-11-15T01:21:01.140 に答える
0

私のコメントを回答として追加すると、

このリークは、心配する必要のないフレームワークによって引き起こされる非常に小さなリークであるため、アプリがクラッシュすることはありません。スクリーンショットは、数バイト単位であることを示しています。アプリが 2 時間ごとにクラッシュする場合は、別の何かが大量のメモリを使用していることを意味します。これを引き起こす可能性のあるコードで他の何かを使用しているかどうかを確認し、調査結果で質問を更新してください。

割り当てツールで、ライブ バイト セクションをチェックしていることを確認し、それがどれだけ上昇しているかをチェックします。15 ~ 20 MB 未満であれば、特に心配する必要はありません。app のメモリ使用量の詳細については、これを確認してください。このXCode Instruments Allocations: Look at Live Bytes or Overall Bytes?も確認してください。.

于 2012-11-21T00:11:49.743 に答える