読者です 読者をやめる 読者になる 読者になる

KitKatで透過gitがホワイトアウトする件

Android4.4(a.k.a KitKat)の端末でアプリ内の透過gif画像の透過部分がホワイトアウトしてしまう件。

Android4.3での表示


Android4.4での表示


おおおお、4.4だと透過部がホワイトアウトしちゃってますね。
ホワイトアウトと言えば、真保 裕一の小説を思い出します。
(映画版は観ていませんが、原作が凄く面白かったことを覚えています)

ホワイトアウト (新潮文庫)

ホワイトアウト (新潮文庫)



で、この問題ですが、本家のissuesを調べてみたところちゃんと取り上げられていました。
Android4.4のバグのようです。

Issue 62016 - android - Android 4.4 KitKat: GIFs lose transparency - Android Open Source Project - Issue Tracker - Google Project Hosting

現時点でまだバグは修正されていないので、最適な代替案は「画像リソースを透過PNGに挿げ替える」という体になっていました。

「つーか、透過gifなんて使わねーよー」という意見(?)もあるかもしれませんが、基本的にgifの方がpngよりも画像容量は少なく済むようです。
ちなみに「アプリに組み込むリソースとしてはgifの方が最適だよ!png使うよりも最大20%アプリ容量の削減できる可能性があるんだよ」という話を、この前、参加したiOS7 Tech Talksの雑談エリアでエバンジェリストの人たちが代わる代わる主張していました。


http://instagram.com/p/gXglbuBBYB/
Core Location やるぞ!!


ということを会社の先輩に話したところ

「アプリの容量が20%カットされたら、AppStoreにかかるインフラコストも 20%近く 削減できるんだろうね」

という指摘を頂いて「なるほどー」とプチなアハ体験(by茂木先生)で脳みそが少し活性化されたような気がしました。