2

私はiPhoneアプリを持っていますが、メモリリークの問題があるようです。これはパズル ゲームです。数回のパズルの後、デバイスでアプリがクラッシュします。

私は今、何が起こっているのかを検出するために xcode Instruments を使用しようとしています。初めて楽器を使います。

ビューがロードされたときに、「リーク」プロットにリークバーがあることに気付きました。リークされたオブジェクトを以下にコピーしました。

Leaked Object   #   Address Size    Responsible Library Responsible Frame
__NSTimeZone    1   0x1f87cfc0  32 Bytes    CFNetwork   _CFGregorianDateCreateWithBytes
icu::OlsonTimeZone  1   0x1f1a9a00  1.00 KB CFNetwork   PACEntryStreamCallback(__CoreReadStream*, unsigned long, void*)
icu::OlsonTimeZone  1   0x1f881850  128 Bytes   CFNetwork   PACEntryStreamCallback(__CoreReadStream*, unsigned long, void*)
icu::OlsonTimeZone  1   0x1f8817d0  128 Bytes   CFNetwork   PACEntryStreamCallback(__CoreReadStream*, unsigned long, void*)
icu::OlsonTimeZone  1   0x1f1a7a00  1.00 KB CFNetwork   PACEntryStreamCallback(__CoreReadStream*, unsigned long, void*)
__NSTimeZone    1   0x1f87d010  32 Bytes    CFNetwork   _CFGregorianDateCreateWithBytes

アプリは引き続き動作し、追加のリーク オブジェクトは見つかりませんでした。数ラウンドのパズルの後、クラッシュしました。上記のリークされたオブジェクトに関連しているかどうかはわかりません。他にも問題があると思いますが、まずこれらのリークされたオブジェクトを解決する必要があると思います。

リークされたオブジェクトは日付/時刻に関連しているように見えます。日付/時刻関連の行をコメントアウトしようとしましたが、それでも同じオブジェクトがリークされました。これらのリークされたオブジェクトが何であるかを確認する必要がある他のものを知っている人はいますか? ティア!

4

1 に答える 1

4

アプリケーションに属さないリークはすべて無視してください。Instruments も IOS / フレームワークも完璧ではありません。独自のクラスで発見されたこのリークのみに注目する必要があります。アプリケーションのメモリ問題の原因を発見するには:

1) スキーマ エディターで NSZombieEnabled モードを有効にします。この場合、Instruments はより有益になります。

2) Xcode で Product->Analyze 機能を使用します。Xcode は、ソース コード内の疑わしい場所を表示します。

于 2013-11-04T06:44:21.560 に答える