2

ビルドして実行すると、viewDidLoadが1回だけ呼び出されることに気付きました。ホームボタンを押してアプリケーションを再入力すると、viewDidLoadは再度実行されません。

私が気付いたもう1つのことは、アプリケーションを再入力すると、中断したところから開始することです。

これは古いSDKと同じ動作ですか?これは、ホームボタンが押されたときにアプリケーションが実際に終了しなかったことを意味しますか?

4

3 に答える 3

3

iOS4.0との違いの1つは、ホームボタンを押してもアプリが必ずしも終了しない場合があることです。デフォルト設定では、それらは引き続きメモリにロードされます。これは、iOS4.0の新しい「マルチタスク」機能です。オフにすると、アプリが毎回読み込まれるはずです。

UIApplicationExitsOnSuspendバックグラウンド実行を有効/無効にするためのplistのキーです。

于 2010-09-19T10:53:37.550 に答える
3

ホームボタンを押すと、デバッグが終了するため、SDKのどのバージョンのデバッガコンソールにもNSLogから何も表示されません。これを試すには、NSLogを挿入しますviewDidAppear:。これは、iOS 4でアプリがバックグラウンドで実行されている場合でも呼び出されるはずですが、呼び出されません。

于 2010-09-19T11:44:47.523 に答える
1

新しいiOS4では、マルチタスクがiPhoneとiPod Touchに登場しました...
このため、iPhoneシミュレーターでアプリケーションをデバッグまたは開発しているときに、ホームボタンを押すと、アプリはバックグラウンドまたはマルチタスクになります。Xcodeよりもあなたのアプリはまだ使用されていると信じています。

viewDidLoadメソッドを呼び出すには、ホームボタンを2回押してアプリを完全に終了し、マルチタスクバーでアプリを押したままXをタップする必要があります。

于 2010-09-19T11:33:08.770 に答える