query: tag:WWDC
Fast App Switch周りをガリガリやっていたら、[@hkato193](http://twitter.com/hkato193)さんからメモリ警告絡みでアドバイスを頂きました。大変参考になったのでメモ。

@satoko ですので、メモリ警告が出てもデータ送信が継続できるようになっているか(ビューとかが捨てられるのは普通通りの対処でOK)、willTermiate(や時間切れハンドラ)で通信遮断やデータ送信失敗への対処が出来ているかがポイントです。Fri Nov 26 01:44:32 via YoruFukurou

つまり、Background突入時、ファイル送信などの処理をTask Completionでやる際に、 1. メモリ警告で送信処理を中止しない 2. 一方で、willTerminateやTask CompletionのExpirationHandler内で正しくキャンセル処理を行うこと: * 通信遮断 * データ送信失敗への対処(送信データの保存など) * ユーザへの通知 ###Task Completionとは Task Completion APIを使えば、Expiration handlerを使ってBackgroundで処理を行える: rails>> // WWDC 2010 Session 109 // Adopting Multitasking on iPhone OS, Part2 より引用 self.bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ [self prepareForSuspend]; [self pauseUpload]; }]; // returns after upload finishes or pauses [self uploadPhotos]; [app endBackgroundTask:self.bgTask]; <<-- 詳細の書き方については、BlockやらGrand Central Dispatchを理解する必要がありそうなのですが、なんとなく次が見えた感じです。
posted by satoko satoko on Thu 2 Dec 2010 at 15:41 with 0 comments