またまたコメントをいただきました。
ありがとうございます!
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 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。