8

最近、理解できないエラーに遭遇しました。私が Cocos2D を使用して開発しているゲームが、特定のランダムなポイントでフリーズするだけで、SIGSTOP が発生し、理由がわかりません。エラーが発生した場所とその原因を突き止めるには、どのツールを使用できますか (また、その使用方法は?)

4

2 に答える 2

1

上記の Aaron Golden の回答には同意しません。デバイス上で実行することは、アプリがフリーズする実際のシナリオを得るために非常に役立つからです。シミュレーターにはより多くのメモリがあり、デバイスのハードウェアを正確な方法で再現しません (たとえば、フレーム レートが低い場合があります)。

「明らかに」、デバイスを (開発者プロファイルを使用して) Xcodeに接続し、コンソール ターミナルを見て、ユーザー @AaronGolden が提案したトレースを探す必要があります。

これらが十分でない場合は、Xcode で一般的な例外ブレークポイントを有効にして、より多くのスタック トレース メッセージをキャプチャすることをお勧めします。

Cocos2D の学習を開始したとき、アプリがフリーズすることがよくありました。これは、一般的な原因のリストです。

  • スプライト シートを使用していなかったため、フレーム レートが劇的に低下していました
  • メモリを使いすぎていました (高解像度のスプライトが多すぎます。TexturePacker を見て、pvr.cczまたは pvr.gz 形式を使用してください。メモリ割り当てが半分になります)。

計測器を使用して、アプリのメモリ警告をプロファイリングします (たとえば、割り当て計測器を調べてメモリ警告を探します)。

于 2013-04-19T20:37:25.987 に答える