iPhoneアプリが起動時にサブプロセスを起動させて、何かと重たい処理はそっちにお願いみたいなことはよくやりたいと思いますが、単純に起動時にサブプロセスを作っていると、アクティブ、非アクティブと変更しているといつの間にか複数プロセスがごろごろ。
原因は生成するタイミングにあった訳ですが。
・アクティブ時にログイン認証を行う
・ログイン認証が終わったタイミングで生成
要するにアクティブになったタイミングで次々とプロセスを生成していました。
そこで生成する箇所で既に生成済みの場合はプロセスを生成しないようにしました。
念のため、同期処理の宣言を入れてます。
@synchronized(self) { if (!_existsDaemon) { _existsDaemon = YES; // サブスレッドを作成する [NSThread detachNewThreadSelector:@selector(_startDaemon) toTarget:self withObject:nil]; } }
0 件のコメント:
コメントを投稿