2016-12-23 3 views
-2

ですから、基本的には、私はJavaとAndroidスタジオを初めて使っています。私は基礎を知っているが、私はそれほど良いものではない。java lang RuntimeException:

携帯電話でアプリを実行しようとするとこのエラーが発生します。私は基本的にMainActivityに1つの背景イメージしか持たないので、他のスレッドを経由しても私を助けませんでした。もう1つ追加する必要がありますが、アプリを実行しようとするとクラッシュします。背景画像の

サイズ:私はまだ追加する必要があり、画像の115キロバイト サイズ:164キロバイト(。動作しませんでした、74KBにそれを圧縮しようとした)

java.lang.RuntimeException: Canvas: trying to draw too large(430377192bytes) bitmap. 

私は別のスレッドでこれを見ましたどちらか助けていないマニフェストに置かれることになった。

android:largeHeap="true" 

私は、私はあなたがより多くを教えてください必要がある場合は、質問に答えるために必要な十分な情報を提供している願っています。

もう一度:これは初めてです。

+1

コードを表示してください。ビットマップは、430377192/1024/1024 = 410 MBのメモリを消費します。 – oschlueter

+0

[公式の文書をご覧ください](https://developer.android.com/training/displaying-bitmaps/load-bitmap.html) –

+0

@oschlueter。いいえ、それは(正方形の画像に近似しています) 'sqrt(430377192/4)'です。これは、拡張画像サイズが '10372 * 10372'です。私はまだそのような解決策を持つデバイスを見なければならない。なぜなら、R、G、B、A(ビットマップの色成分)が4バイトであるからです。 –

答えて

1

430377192バイトは、10372 x 10372ピクセルイメージに相当します。これはあまりにも大きいです。さらに、あなたが遭遇する可能性のあるAndroidデバイスの画面よりもはるかに大きくなっています。

したがって、この描画可能なリソースを見つけて、その解像度をより合理的なものに減らしてください。

あなたはres/drawable/でこの描画可能リソースを配置した場合、res/drawable/-mdpiスクリーン(〜160 dpi)のために設計された画像を表す、res/drawable-mdpi/の同義語であることをご了承ください。これらの画像は、より高密度の画面(例えば、-xhdpi画面の場合は各軸に2倍)で高解像度にアップサンプリングされます。適切な濃度のために専用のドロアブルを用意するか、この画像をres/drawable-nodpi/に移動してください。

+0

すてきな説明。 –

関連する問題