ほとんどの機能に Irrlicht エンジンを使用する iOS アプリを継承しましたが、厄介な問題に遭遇しました。
Facebook Connect を使用してログインと登録を行っています。これは、iPhone で FB アプリを使用し、iPad でダイアログ ウィンドウを使用している他のメモリの問題としか考えられないためです。
ただし、iPod Touch 第 4 世代では、ログイン ダイアログが表示されるとすぐにアプリがクラッシュします。それは他のデバイスで動作します - キャッチ付き。iPad 1 が Mac に接続されている場合、実際に xcode を介して実行しているかどうかに関係なく、Facebook ダイアログが表示されるとクラッシュします。3GS は何があっても動くように見えますし、iPad 3 も確実に動くと思います。iPad 3 と問題のある iPod は現場にないため、完全にテストすることはできません。
3GS バージョンには問題がないことを考えると、iPod バージョンがすぐにクラッシュする理由はあるのでしょうか。どちらも現在同じアセット セットを使用しているため、それが問題である場合、両方ともクラッシュすると予想されます。
助言がありますか?
編集: 影響を受けるデバイスのコンソール出力は次のとおりです。
May 30 23:16:23 unknown kernel[0] <Debug>: launchd[1298] Builtin profile: container (sandbox)
May 30 23:16:23 unknown kernel[0] <Debug>: launchd[1298] Container: /private/var/mobile/Applications/87B7926A-AA91-48BA-B7EE-73BCDBACCC17 [69] (sandbox)
May 30 23:16:23 unknown Golman[1298] <Warning>: Unknown class AdMobView in Interface Builder file.
May 30 23:16:37 unknown MobileMail[1245] <Warning>: Received memory warning.
May 30 23:16:38 unknown Golman[1298] <Warning>: Received memory warning.
May 30 23:16:38 unknown Golman[1298] <Warning>: Warning: Libinfo call to mDNSResponder on main thread
May 30 23:16:38 unknown SpringBoard[51] <Warning>: Received memory warning.
May 30 23:16:42 unknown Golman[1298] <Warning>: enter login page
May 30 23:16:53 unknown Golman[1298] <Warning>: leave login page
May 30 23:16:53 unknown Golman[1298] <Warning>: enter login page
May 30 23:17:00 unknown Golman[1298] <Warning>: leave login page
May 30 23:17:00 unknown Golman[1298] <Warning>: enter login page
May 30 23:17:18 unknown Golman[1298] <Warning>: leave login page
May 30 23:17:18 unknown Golman[1298] <Warning>: enter login page
May 30 23:17:21 unknown Golman[1298] <Warning>: leave login page
May 30 23:17:21 unknown Golman[1298] <Warning>: enter login page
May 30 23:17:24 unknown Golman[1298] <Warning>: leave login page
May 30 23:17:24 unknown Golman[1298] <Warning>: enter login page
May 30 23:17:38 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.plantpot.golman[0xaf95]) Exited: Killed: 9
May 30 23:17:38 unknown UserEventAgent[12] <Notice>: jetsam: kernel termination snapshot being created
May 30 23:17:39 unknown SpringBoard[51] <Warning>: Unable to send deactivation event to <SBApplication: 0xfda12e0> com.plantpot.golman userLaunch statusBarWindowContextId = 1325144038 statusBarOrientation = 3 activate: deactivate: animate animationStart = 36566.94129066667 animationScale = 0.001 animationDuration = 0.4 : (ipc/send) invalid destination port
May 30 23:17:39 unknown SpringBoard[51] <Warning>: Application 'Golman' exited abnormally with signal 9: Killed: 9
May 30 23:17:40 unknown kernel[0] <Debug>: launchd[1304] Builtin profile: container (sandbox)
May 30 23:17:40 unknown kernel[0] <Debug>: launchd[1304] Container: /private/var/mobile/Applications/8FF2FEC5-D24D-4DBB-BC6B-782F89051CFC [69] (sandbox)
May 30 23:17:41 unknown ReportCrash[1303] <Notice>: Saved crashreport to /Library/Logs/CrashReporter/LowMemory-2012-05-30-231741.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0
May 30 23:17:46 unknown UIKitApplication:com.facebook.Facebook[0x4c2b][1304] <Notice>: wait_fences: failed to receive reply: 10004003
May 30 23:17:50 unknown Golman[1308] <Warning>: Unknown class AdMobView in Interface Builder file.
May 30 23:17:50 unknown kernel[0] <Debug>: launchd[1308] Builtin profile: container (sandbox)
May 30 23:17:50 unknown kernel[0] <Debug>: launchd[1308] Container: /private/var/mobile/Applications/87B7926A-AA91-48BA-B7EE-73BCDBACCC17 [69] (sandbox)
May 30 23:17:51 unknown Golman[1308] <Warning>: Logged into facebook
May 30 23:18:01 unknown MobileMail[1245] <Warning>: Received memory warning.
May 30 23:18:02 unknown SpringBoard[51] <Warning>: Received memory warning.
May 30 23:18:03 unknown Golman[1308] <Warning>: void SendDelegateMessage(NSInvocation*): delegate (webView:didCommitLoadForFrame:) failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode
May 30 23:18:05 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilemail[0x6fdf]) Exited: Killed: 9
May 30 23:18:05 unknown UserEventAgent[12] <Notice>: jetsam: kernel termination snapshot being created
May 30 23:18:05 unknown SpringBoard[51] <Warning>: pid_suspend failed for [1304]: Unknown error: -1, Unknown error: -1
May 30 23:18:05 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.facebook.Facebook[0x4c2b]) Exited: Killed: 9
May 30 23:18:05 unknown SpringBoard[51] <Warning>: Application 'Mail' exited abnormally with signal 9: Killed: 9
May 30 23:18:06 unknown SpringBoard[51] <Warning>: Application 'Facebook' exited abnormally with signal 9: Killed: 9
May 30 23:18:06 unknown Golman[1308] <Warning>: Received memory warning.
May 30 23:18:07 unknown Golman[1308] <Warning>: Warning: Libinfo call to mDNSResponder on main thread
May 30 23:18:08 unknown ReportCrash[1310] <Notice>: Saved crashreport to /Library/Logs/CrashReporter/LowMemory-2012-05-30-231808.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0
May 30 23:18:09 unknown Golman[1308] <Warning>: (friends list received)
May 30 23:18:11 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.plantpot.golman[0x8c4]) Exited: Killed: 9
May 30 23:18:11 unknown UserEventAgent[12] <Notice>: jetsam: kernel termination snapshot being created
May 30 23:18:11 unknown SpringBoard[51] <Warning>: Application 'Golman' exited abnormally with signal 9: Killed: 9
May 30 23:18:12 unknown SpringBoard[51] <Notice>: Posting 'com.apple.iokit.hid.displayStatus' notifyState=0
May 30 23:18:12 unknown SpringBoard[51] <Notice>: MultitouchHID: detection mode: 0->255
May 30 23:18:12 unknown UserEventAgent[12] <Warning>: DEBUG: Changing screen blanked state: 1
May 30 23:18:12 unknown UserEventAgent[12] <Warning>: DEBUG: We could backup; waking backupd to decide
May 30 23:18:12 unknown UserEventAgent[12] <Warning>: TRACE: <MBManagerClient: 0x1402d0> establishing connection with daemon...
May 30 23:18:13 unknown UserEventAgent[12] <Warning>: TRACE: <MBConnection: 0x155340> sending {
command = kMBMessageWakeUp;
}
May 30 23:18:14 unknown backupd[1313] <Warning>: INFO: Scheduling next backup at 5/31/12 11:01:35 PM
May 30 23:18:17 unknown ReportCrash[1314] <Notice>: Saved crashreport to /Library/Logs/CrashReporter/LowMemory-2012-05-30-231817.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0
編集 2: これが発生する画面で割り当てインストルメントを使用しました。「All Allocation」フィールドのライブ バイトは、この時点で 34 / 35 MB までしか増加しません。メモリの問題を引き起こすのに十分ではないようです。また、メモリの警告は、テクスチャをゲームにロードしている時点よりも前に表示され始めます。問題に光を当てる場合、アプリは Irrlicht ライブラリを使用します。ほぼすべての画像、アニメーション、サウンドなどが最初に読み込まれますが、そのときにアプリがクラッシュすることはありません。ほとんどの場合、FB ダイアログなど、何らかの Web ビューが開かれたときです。コメントで述べたように、このプロジェクトはもともと他の誰かに属していました。残念ながら、彼らがそれを終えたとき、それは完全に安定していませんでした.
編集 3: メモリ モニターで試してみました。テクスチャのロード中に初めてクラッシュし、実際に ~80MB と ~200MB の仮想メモリを使用していることを示しました。その後、テクスチャのロードを停止しましたが、今回はまだクラッシュし、69MB と 179MB を示していました。オーディオと、開始時に初期化され、38MB/147MB でクラッシュするアニメーションの「ダミー」を削除しました。
テクスチャをロードすることさえせずに、どのようにして大量のメモリをこんなにも早く使い果たしてしまうのかわかりません。