3

現在、Facebookの誕生日をすべてインポートしてコアデータに挿入しています。次に、最新の誕生日に従って並べ替えています(フェッチと並べ替え)。Facebookを使用してすべての連絡先を同期して取得すると、アプリはすべての連絡先を完全に取得しますが、連絡先を受信するとすぐにクラッシュします..

ゾンビオブジェクトを使ってみた

漏れてみました。

例外ナビゲーターに例外を追加してみました。

ipod を iTunes と同期し、ライブラリとデバイスのログに移動しましたが、メモリ不足の問題またはそのようなものを示すファイルが見つかりませんでした。

クラッシュの理由が表示されず、単にクラッシュし、アプリを再度開くと、Facebook からインポートされたすべての連絡先が表示されるため、混乱しています。

デバッガー ウィンドウに lldb がありません。gdb に変更すると gdb が表示されますが、backtrace(bt) を使用すると「No Stack」と表示されます。

また、連絡先が多すぎるとアプリがクラッシュし、連絡先が少ないと正常に動作することにも気付きました。

何が問題なのですか?メモリの問題でクラッシュしますか?クラッシュの原因を知るにはどうすればよいですか?

ありがとう

4

2 に答える 2

10

メモリ不足が原因でアプリが終了している可能性があります。

最善の方法は、Xcode のオーガナイザーを使用してデバイス コンソールを確認することです。

ここに画像の説明を入力

iOS がメモリ不足でアプリを強制終了している場合は、次のように表示されます。

<Notice>: jetsam: kernel termination snapshot being created
<Warning>: Application 'UIKitApplication:com.yourapp[0x6337]' exited abnormally with signal 9: Killed: 9

アプリケーションが使用しているメモリの量を確認するには、Instruments のアクティビティ モニターを使用する必要があります。

また、メモリ モニター インストルメントを使用して、「物理メモリ フリー」のグラフを有効にすることもできます。クラッシュする前にグラフが 0 に近づいている場合は、メモリの問題であると確信できます。

ここに画像の説明を入力

于 2013-05-06T14:07:31.413 に答える
0

viewDidUnload にメモリを解放するためのコードを入れてみてください。たとえば、マウスを使用してコードと xib の間にリンクを作成すると、xcode は現在の要素のコードを自動的に生成します。

于 2013-05-06T14:27:39.433 に答える