タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

uiimageに関するkaza13のブックマーク (2)

  • UIImageは簡単にリークする。。。 - That’s why, I’m here!

    iPhone SDKいまだに Objective-C の release はよく分かってない。確実なのは、C の free() とは違うようだということぐらいか。 iPod関係のアプリを作ると、どうしてもアルバムアートワークを表示したくなるが、なにも考えずに作ったらどんどんメモリリークしていった。XCodeでは、シミュレータの実行ではメモリの増減を監視できるが、iPhoneのほうは見えない。(3.1以降なら見えるかも。試してない)だから目にみえる現象としては動作が重くなっていって、最後にクラッシュ!となるぐらい。まあ処理が重くなったらリークしてるって思うようにしてる。 唯一見えるのはコンソールログ。最初は iPod Serverとか普通の人は知らない情報を見れて楽しいが、リークが始まると空き容量不足のワーニングやら、バックグラウンドの Safariが停止されたり、最後には音楽再生してるのに

  • UIImageの読み替え(releaseからの再ロード)の罠。 - mswar's はてなブログ

    UIImageでイメージロードしてたら、releaseしてるにも関わらず、メモリが一向に減らない・・・。 UIImageのクラスリファレンス読むとわかるんだが、どうやら一度読んだイメージをキャッシュしてくれちゃってるらしい。(限られたリソースしか使わないなら確かに便利だが) 内部的にはimageNamedに渡したファイル名と、生成されたイメージオブジェクトのポインタを対で覚えてるっぽい。 そのせいで、一度releaseしたのと同名のイメージを再度ロードした場合、そのreleaseしたはずのオブジェクトを返してくるせいか、それにさわるとBAD_ACCESS例外で止まる。 最初は、なんでこんな例外がスルーされるのか分からず、小一時間悩んでしまった・・・。 んで↓のように解決。 × UIImage* imageTmp = [UIImage imageNamed:@"imageName1.png"

    UIImageの読み替え(releaseからの再ロード)の罠。 - mswar's はてなブログ
  • 1