新しく導入されたDisplay size
OS設定の値が大きすぎると、AndroidNの起動時にクラッシュする公開アプリがあります。
logcatを見ると、次のメッセージが表示されます。
java.lang.RuntimeException: Canvas: trying to draw too large(106,975,232 bytes) bitmap.
最初のアクティビティで、大きな背景画像を表示するImageViewに問題を追跡しました。問題の画像は2048x1066で、私の汎用drawables
ディレクトリにあるため、密度に関係なく、この画像が使用されます。
Display size
設定がである場合、すべてが正常に機能しますSmall
。しかし、私がに上がるとDefault
、それは動作を停止します。次に、画像を小さい画像と交換すると、で動作しますDefault
が、に上がるとLarge
、再び動作を停止します。
私の推測では、調整Display size
すると、デバイスは物理的に小さいデバイスのように動作し、ピクセル密度が高くなります。しかし、私はここで何をすべきか理解していません。徐々に小さい画像を入れて徐々に高い解像度にすると、実際には大きなディスプレイでは見栄えが悪くなります。それとも私は何かを理解していませんか?
どんなポインタでも大歓迎です。
res/drawable/
同義語ですres/drawable-mdpi/
。濃度に基づいて画像が拡大縮小されないようにするres/drawable-nodpi/
場合はres/drawable-anydpi/
、またはを使用します。