2

「時間内に再開できませんでした」という問題を解決しようとしています。私たちのテスター デバイスの 1 つ (最新の OS を搭載した iPhone 4S) では非常に頻繁に発生しますが、私のデバイスではまったく発生しないようです。

とにかく、いくつかのクラッシュログを取得しました。しかし、原因の根本をたどることはできません。問題が発生する可能性があることを理解しています

1. プロセスがメイン スレッドを長時間保持している場合。

2.メモリに問題がある場合。

ユーザーがメインメニューを離れて戻ってきたときに発生するように見えるので、メモリはそれほど問題ではないと思います。メイン メニューでは何も起きていないため、実行時間が長すぎるタスクである可能性があります。

以下は、クラッシュ ログからの抜粋です。

問題の原因を追跡できる人について、誰かが私を助けてくれたり、案内してくれたりできますか? ウォッチドッグタイマーをオフにする方法はありますか(おそらくそうではありませんか?)また、強調表示されたスレッドは何を参照していますか?

  1. 私はすでに applicationDidBecomeActive と applicationWillEnterForeground をチェックして、そこで何も起こっていないことを確認しました。

  2. 私の知る限り、この時点で行われている同期呼び出しはありません。Reachability は同期呼び出しを使用してインターネットをチェックしますか? どうすればそれを確認できますか?

  3. 再開時に大規模なデータ転送を行っていません。

  4. アプリを再開すると、GameCenter が自動的にログインするか、ログインを確認します。これを防ぐ方法はありますか?これにより、タイムアウトの問題が発生する可能性がありますか?

時間プロファイルを実行してみましたが、それを使用して分析する方法を理解できません。そのための優れたリソースを提供できれば、それは素晴らしいことです。

ありがとう!!!

4

1 に答える 1

1

現在、「課題モードを見つけようとしている」状態です。「これが実際にどの程度の問題かを調べる」モードに切り替える必要があります。

したがって、別の 4S (実際にはできるだけ多く) を見つけて、それがデバイス固有の問題であることを除外してください。すべての 4S で発生する場合は、特定しやすくなります。そうでない場合は、他の人に見てもらい、考えられる原因について話し合ってください。ピア プログラミング アプローチは、行き止まりの状況に陥ったときに役立つことがよくあります。

問題がその 1 つのデバイスだけにある場合は、そのデバイスが壊れている (または「脱獄」) かどうかを確認するか、単にハード リブート (電源とホームを 10 秒以上保持) が必要かどうかを確認することをお勧めします。

すべてではなく一部のデバイスでのみ発生する場合は、共通点を見つけてください。これは、言語/ロケール、またはディクテーションである可能性があり、事実上、ユーザーが変更した可能性のあるあらゆる種類の設定です。必要に応じて、できるだけ多くの設定を (Web) サーバーに記録するロガーを作成して、設定を 1 つずつ比較し、同期していない設定をすばやく破棄できるようにします。

影響を受けるデバイスが非常に少ない場合は、問題を無視して、ユーザーからの追加のクラッシュ ログで問題の鍵が明らかになることを期待することもできます。

最後に、終了時のサスペンドを無効にし、代わりにホームボタンが押されたときにアプリを終了するオプションが常にあります (iOS 4 以前のように)。もちろん、アプリをバックグラウンドで実行する必要がある場合を除きます。

于 2012-07-18T23:06:42.297 に答える