2011-09-25 8 views

答えて

1

はスレッドセーフかではありません。
長時間のテストの後、私はほとんどの時間が背景の上でLocalNotificationを実行することがわかりました。しかし、それはちょうど私たちのアプリをクラッシュします。

「UI」という接頭辞を持つすべてのクラスはスレッドセーフではないようで、別のスレッドではメソッドを呼び出さないでください。

私の解決策は、LocalNotificationの数を減らしていますが、これはまだ少しアプリをフリーズしていますが、私たちはこの小さなフリーズを受け入れることができます。

1

デフォルトでは、アプリがバックグラウンドに移動するとアプリケーションの処理がフリーズします。実行は、アプリケーションがフォアグラウンドに戻ったときに残ったステートメントと同じステートメントから継続されます。バックグラウンドでコードを実行するには、ブロックをbeginBackgroundTaskWithExpirationHandlerブロックで囲む必要があります。

にあるhttp://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.htmlの有限長タスクの完了を参照してください。 UIApplicationについての文書がありません

HTH、

Akshay

+0

私はテストに多くの時間を費やしています。今は、バックグラウンドスレッドで 'localNotification'を再生できないと確信しています:D – xhan

関連する問題