2016-12-23 69 views
-2

所以基本上,我是新來的Java和Android工作室。我知道基礎知識,但我還沒有那麼好。java lang RuntimeException:

當我嘗試在手機上運行應用程序時出現此錯誤。通過其他線程無法幫助我,因爲我在MainActivity中基本上只有一個背景圖像。我必須再添加一個,但是當我這樣做並嘗試運行該應用程序時,它會崩潰。

大小的背景圖片:圖像115KB 大小我還是要加:164 KB(試圖將其壓縮到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'的圖像尺寸。我仍然必須看到具有這種分辨率的設備。如果你問爲什麼'/ 4',這是因爲R,G,B和A(位圖的顏色分量)是4個字節。 –

回答

1

430377192字節相當於10372 x 10372像素圖像。這是太大太。而且,它比任何你可能遇到的Android設備屏幕都大得多。

因此,找到這個可繪製的資源,並將其分辨率降低到更合理的值。

如果你放在這個繪製資源在res/drawable/,請理解,res/drawable/res/drawable-mdpi/的代名詞,代表專爲-mdpi屏幕(160〜dpi)的圖像。這些圖像將在較高密度的屏幕上上採樣到更高的分辨率(例如,屏幕上的每個軸會雙倍)。請準備適當密度的專用繪圖,或將此圖像移動到res/drawable-nodpi/

+0

很好的解釋。 –

相關問題