1

私が書いているAndroidプログラムで問題が発生しているようです。私はまだ初心者なので、問題を理解し、問題を解決する方法を教えてください。私は単純なゲームを作成しており、そのすべてのグラフィック デザインを行っています。私の画像は 1024x1024 または 1024x512 で、解像度は 300 ピクセル/インチです。はい、私はおそらくそれをやり過ぎていることを理解しています。グラフィックが本当にクリアで見栄えがするようにしたいだけです。すべてのグラフィックは、hdpi、ldpi、mdpi、xhdpi、または xxhdpi ドローアブル フォルダーではなく、ドローアブル フォルダーにあります。今、私が抱えている問題は、drawable フォルダーに 1024x1024 の画像をもう 1 つ追加するまで、アプリが正常に動作していたことです。画像を読み込もうとすると、アプリがクラッシュするだけです。私が得る問題は、メモリオーバーフローです。どのようなアクティビティが実行されているかは問題ではありません。画像の読み込み制限に達するとクラッシュするようです。Androidの解決ページを読みましたhttp://developer.android.com/guide/practices/screens_support.htmlしかし、私の英語は理解するのに十分ではないかもしれません。各解像度 (hdpi、ldpi、mdpi、xhdpi、および xxhdpi) に合わせて画像のサイズを変更する必要がありますか? アプリ内のあるアクティビティから別のアクティビティに移動するとき、前のアクティビティの ImageViews をクリアしてメモリをクリアする必要がありますか? この仕組みを理解するのを手伝ってください。

ありがとうデビッド

4

2 に答える 2

4

皮肉なことに、あなたが使用している方法は、おそらく画像の見栄えを悪くしています。

ラスター イメージをルート ドローアブル フォルダーに配置すると、それらは であると見なされmdpi、他の密度に合わせて拡大されます。これは、1024x1024 のビットマップが拡大され、2048x2048 のビットマップとして取り込まれることを意味します (ほとんどの場合、必要以上に大きくなります)。そうです、あなたの最善の策は、特定の密度に必要なサイズの画像を作成し、サポートする必要がある各描画可能フォルダーに個別の画像を作成することです。

また、画像を設定する解像度(300 ppiについて言及しました)は関係ありません。重要なのはピクセル寸法だけです。

于 2013-04-13T05:05:34.827 に答える
0

VM の予算がエラーになったと思います。以前のアプリケーションで作業中にこの問題に直面しました。検索した後、開発者ガイドから解決策を見つけました...この リンクをフォローして、問題が解決することを願っています。ありがとう

于 2013-04-13T05:05:23.773 に答える