2012年1月27日金曜日

iPad2のカメラ切替時のミス 意図しないタイミングのdealloc

iPad2のカメラを切り替える処理を、sampleを参考に作って動いたー!
ってことで、別処理を作っていたのだけれども、改めて実行すると、動かない、、、。

「動かない」の状況を探っていると、切り替えた直後に、1フレームだけ動作して終わってる、、、。
更に、ログを頼りに追っていったら、キャプチャ処理を管理するオブジェクトが意図しないタイミングでリリースされてる。
 
キャプチャ終了処理 → カメラ切替 → キャプチャ処理開始

動作しなくなるときは、キャプチャ終了処理で、deallocされずに、キャプチャ処理開始の直後にdeallocされてて、一時的にキャプチャ処理を管理するオブジェクトが2つ存在していることが判明。なぜに、そのタイミングでdealloc、、、、。

時間が無いので、暫定対策で、performSelectorでdelayかまして、キャプチャ処理開始処理を実行するようにしたら、無事動作。



0 件のコメント:

コメントを投稿