最近はいろいろ大幅なバージョンアップも終わって時間ができたので、Androidの動きをじ〜っと1週間ほど調べ続けていて、やっと難しいところというか意味のわからないところがわかったのがクリスマスイブの今。
Androidの解像度というか密度は理解しづらくて、はっきりわからず作っていたので振り回されていたけれど、結局は根本的に勘違いをしていたみたいで解決しました。
これで次からは楽ができるのでこの1週間も無駄にはならにでしょう。
Androidの中には小さな画面でも高解像度のちょっと変な端末があります。
画面は640X960という解像度なのだけれども密度を持っていてこれが2.0倍というもの。
僕が用意している画像は480X800の1.0倍密度のもの。
画像が小さいからこれでいいやと思っていたのだけれど、640X960の2.0倍密度の場合、480X800を960X1600の画像に変換してから使うんです。僕はてっきり480X800を約1.3倍するものだと思っていたのでここに認識の違いがあったんですよね。
960X1600に変換した画像を0.67倍にするんだからそりゃあ、メモリもなくなってエラーになるよ。
こういうことを想定して最初から480X800で2.0倍用の画像を用意してやると480X800を元に計算するから小さな画像で済むと。
理不尽だけど仕方がないよね。
ちなみに画像はdrawable-xhdpiに入れました。