2011/07/20

DPI (2)

またまたコメントをいただきました。
ありがとうございます!


http://japanese.engadget.com/2011/05/23/honeycomb-gingerbread-ui/

なんと、DPIが大きくなると2.3のHOME画面が出てくるらしい。
ほほぅ。

DPIって、dot per inchの略だったはずだ。
つまり、1インチ中のドット数。
でも・・・インチって長さの単位だよなぁ。
なので、ドットで1インチを作るには何ドット必要になるか、ということだ。
画面の広さではなく、細かさを表すことになる。

エミュレータで見たとき、2.3とかは240dpiだけど、3.1とかは160dpiだった。
つまり、Honeycombの方が粗めになると考えていることになる。
たしかに、携帯電話の画面は小さい癖に解像度が高い。つまり、密度が高い。
だからDPI値が大きくなる。
タブレットは画面が広い分、小さめになるということだ。

なら解像度を高くすればいいやん、と思うかもしれんが、描画が重たくなる。
重たくなると使いもんにならんから、いいエンジンを積む。
いいエンジンは速いけど、それだけエネルギーを食う。
つまり、電池の持ちが悪くなる。



ソースファイルを検索してもらった
前回載せたログに「未設定だから160dpiにするね」というやつは、DisplayHardwareで出していることがわかる。
C/C++でプロパティを取ってくるときは、property_get()を使う。

Javaの場合は、SystemProperties.getXXX()で取ってくるようだ。
ここは整数値なので、getInt()なのだろう。

Javaのソースに、興味深い数値があった。
160とか240とか、さっきのDPI値ではないか。
160はMEDIUMで、240はHIGH。
これは、Android Developersにも書いてある。


むう、3.2になって、また追加があるらしい。
うちのAndroidたちは160dpiと認識されているみたいだから、そっちの影響か??
まだまだ奥が深そうだ・・・。

まあ、HOMEアプリのソースを見ればいいんだろうけど、やってもそれは週末だな。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。