とらぬたぬきの皮算用

普段のなんでもないことも、技術的なことも、趣味のことも書いてしまう雑食です。

バックグラウンドとautorelease

全然ブログ書いてなかった!!
ってことで、今回発見されたバグ。

恐らくiOS4以上じゃないと再現しないかもしれませんが、
一度アプリを起動し、ホームボタンを押してバックグラウンドへ。

その後再度アプリを起動し、ちょこちょこいじってるとUIImage絡みで強制終了。


どうやらUIImageなどのautorelease系のオブジェクトは未使用のものに限り、バックグラウンドへ
処理が移るときに勝手に解放されてしまう模様。


ややこしい。ややこしすぎるよ!

不思議なことにバックグラウンドへ入る直前に使用していたUIImageについては解放されていない。
今後バックグラウンド処理からの復帰のことも考えると、UIImageもちゃんとアプリで参照カウントを上げておかないといけないっぽい。
autoreleaseだなんて、ありがた迷惑なObjective-c