4

ここには、フリックできる画像を含む uiscrollviews に要約できるアプリがあります。しかし、私はここで本当に奇妙なことを経験しています。

各画像 (合計で約 60 個あります) をフリックすると、ある時点でアプリが終了します。XCode 4 (GM シード 2) で実行していますが、デバッグ情報が表示されず、コンソールにメッセージもまったく表示されません。NSZombieEnabled をオンにしましたが、何も変わりませんでした。

デバイスでクラッシュログすら取得していません。計測器で実行しましたが、リークは報告されません。デバイスで実行すると、メモリ使用量は 700 ~ 1100 KB になります。

各「ページ」(フリックスルーするページ) をチェックし、init と dealloc にメッセージを追加しました。すべてが適切に割り当て解除されていることを確認できます (現在のページと両側のページのみが読み込まれます)。

さて、これはほとんどの場合、最初から開始して各ページを右にフリックすると、アプリの同じポイントで発生するようです。プラスまたはマイナスの数ページ、すべてメモリの問題を指しています。メモリの警告が表示されますデバイスですが、大量のメモリを使用していることや、リークがあることを示すものはまったくありません。

アプリが終了したときに、デバイスのコンソールからこれを取得しました。

3 月 8 日 14:13:37 不明な configd[26]: jetsam: カーネル メモリ イベント (92)、フリー: 451、アクティブ: 2894、非アクティブ: 2267、パージ可能: 0、有線: 16709

3 月 8 日 14:13:37 不明な configd[26]: jetsam: カーネル終了スナップショットが作成されています

3 月 8 日 14:13:37 不明な com.apple.launchd[1]: (com.apple.AOSNotification) 終了: 終了: 9

3 月 8 日 14:13:37 不明な com.apple.launchd[1]: (UIKitApplication:com.apple.mobilemail[0xc2ee]) 終了: 終了: 9

3 月 8 日 14:13:37 不明な com.apple.launchd[1]: (UIKitApplication:no.NRC.NRCMag[0x3c6c]) 終了: 終了: 9

3 月 8 日 14:13:37 不明な com.apple.launchd[1]: (com.apple.dataaccess.dataaccessd) 終了: 終了: 9

Mar 8 14:13:37 unknown SpringBoard[30]: メモリ警告を受け取りました。レベル=1

3 月 8 日 14:13:37 不明な SpringBoard[30]: アプリケーション 'パースペクティブ' がシグナル 9 で異常終了しました: 強制終了: 9

3 月 8 日 14:13:38 不明な SpringBoard[30]: アプリケーション 'Mail' がシグナル 9 で異常終了しました: 強制終了: 9

Mar 8 14:13:38 unknown SpringBoard[30]: メモリ レベルが正常ではありません (60%)。「メール」の自動再起動を 30 秒間遅らせます。

Mar 8 14:13:38 unknown SpringBoard[30]: メモリ警告を受け取りました。レベル=2

3 月 8 日 14:13:38 不明なカーネル [0]: launchd[1253] 組み込みプロファイル: dataaccessd (サンドボックス)

3 月 8 日 14:13:39 不明な AOSN[1252]: AOSNotification デーモンを開始しています...

3 月 8 日 14:13:39 不明な AOSN[1252]: デバイス情報。名前: Calypso、ビルドバージョン: 8F190、製品タイプ: iPad1、1、固有のデバイス ID: f02b304ed9a62109de1f3efd3e1e23158a76b2d4

3 月 8 日 14:13:40 不明な ReportCrash[1254] : uid を使用してクラッシュ レポートを /Library/Logs/CrashReporter/LowMemory-2011-03-08-141339.plist に保存しました: 0 gid: 0、synthetic_euid: 0 egid: 0

Mar 8 14:13:40 unknown SpringBoard[30]: メモリ警告を受け取りました。レベル=1

3 月 8 日 14:13:40 不明な dataaccessd[1253]: DA|ウェイク通知用に登録済み

3 月 8 日 14:13:40 不明な AOSN[1252]: プッシュ: 読み込み中...

3 月 8 日 14:13:41 不明なプロファイル [1257]: プロファイル |サービスの開始...

3 月 8 日 14:13:41 不明な dataaccessd[1253]: EAS|EAS プロトコル マネージャーが ASProtocolUnknown に設定されました

3 月 8 日 14:13:41 不明な dataaccessd[1253]: CalDAV|更新が開始されましたが、まだゲートキーパー ロックを待機しています

3 月 8 日 14:13:42 不明な dataaccessd[1253]: EAS|EAS プロトコル マネージャーを ASProtocol12_1 に設定

これはクラッシュ レポートに言及していますが、XCode のオーガナイザーに表示されない場合、どうすればこれを入手できますか? また、Instruments (およびコードを詳しく調べたところ) がメモリをあまり使用していない、またはリークしていないと言うのに、なぜメモリの警告が表示されるのでしょうか?

ヘルプ!

編集:ここで3.2.6を起動して実行すると、コンソールに次のように表示されます:

プログラム受信信号:「0」。

データ フォーマッターは一時的に利用できません。「続行」後に再試行します。(共有ライブラリ "/Developer/usr/lib/libXcodeDebuggerSupport.dylib" のロード中に不明なエラーが発生しました)

4

1 に答える 1

-1

さて、私はここでそれを理解しました、そしてそれは少しばかげています.

UIImage の imageNamed メソッドを使用して各画像/ページをロードしましたが、明らかにこれがメモリ警告の原因でした。

これについて少し気になることがいくつかあります。

  1. キャッシュは明らかに良いことですが、明らかに 4.3 GM では、メモリ警告が発生したときにキャッシュを実際に空にしないようです。
  2. メモリ使用量の増加が、アプリで使用されていると報告されていません。
于 2011-03-08T14:58:51.223 に答える