UIColor が 32byteほど メモリの残っていたので気になってしらめてみました。
UIColor は使い方によっては UIImage の imageNamed と同じようにキャッシュされ、UICachedDeviceRGBColor , UICachedDeviceWhiteColor といった形に変えてメモリに残るようです。
キャッシュされる場合の使い方は、
という、記述する場合です。
この記述ができるクラスメソッドは 15種類ほどしかありませんから、メモリに残ったとしても 480byteぐらいが上限になり増殖し続けることはありませんでした。 iPhoneならあまり気にしなくていいですよ。
余談ですが僕は256byteのメモリのキーチェーンの開発をしたことあります。色だけで、メモリに収まらない….
どうしても、この32byteをキャッシュさせたくない場合は
という記述しましょう。[UIColor redColor]の記述に慣れていると、 alloc を書くのを忘れがちになりますね。気をつけましょう。
UIView の backgroundColor プロパティに [UIColor] を設定した場合の解放は気にしなくて大丈夫です。
imageNamedは、かなりのメモリ消費量なので慎重になりますが、UIcolorは大丈夫そうですね。
おわり。
コメント