多数のフルスクリーン ビットマップ背景が必要なアプリケーションを作成しています。Android ドキュメントのSupporting Multiple Screens[ small, normal, large, xlarge ]
を単純に読んだことに基づいて、すべてのベースをカバーするには、おそらく各ビットマップの 16 バージョンが必要[ ldpi, mdpi, hdpi, xhdpi ]
です。これにより、CPU が画像をスケーリングするために必要な作業を減らすことができますが、ストレージ コストが大きくなります。
ただし、これは次の 2 つの理由から非常に非効率的です。
- これらの組み合わせのすべてが実際に見られるわけではありません。
- 各物理サイズ (DPI を考慮せずに) のベクター アートをレンダリングしているだけなので、large/mdpi と normal/hdpi (どちらも ~ 480x854 ピクセル) のようなペアは重複ファイルです。
では、本当に大きな画像を提供して、システムに縮小させるべきでしょうか? 弾丸を噛んで、多くの重複画像を提供しますか? 問題を完全に回避し、未加工のリソースを使用してコード ソリューションを石畳にしますか? 他のアイデアはありますか?ありがとう。
編集:どうやら、実際のビットマップをエイリアス化する XML ビットマップ ドローアブルを作成できるようです。これにより、2 番目の非効率性に関する議論が解決されます。それでも、他の人が実際にこれらのどのような組み合わせを提供しているのだろうか?