2015-11-10 27 views
0

當我把圖像放在drawable文件夾中時,我在設置圖像資源時得到了OutOfMemoryError,但是在將相同圖像移動到drawable-nodpi文件夾後,該錯誤得到解決。在將圖像移動到drawable-nodpi文件夾時如何解決錯誤?把圖像放在drawable和drawable-nodpi文件夾中有什麼區別?

+0

CommonsWare漂亮很多人回答說,把它標記爲正確的答案。 –

+0

這裏在我以前的答案你可以找到更多關於它的信息太:http://stackoverflow.com/questions/28346407/bitmap-too-large-to-be-uploaded-into-a-texture/28348286#28348286 – Budius

回答

4

res/drawable/res/drawable-mdpi/的遺留同義詞,表明該目錄中的可繪圖設置爲mdpi密度。如果設備運行另一個密度,那麼這些圖像將被下采樣(至ldpi)或上採樣(至其他任何設備)以匹配設備密度。

res/drawable-nodpi/說:「這些drawables不應該被重新採樣爲任何密度,而應該被用於所有密度」。

如果您購買的OutOfMemoryError當你移動圖像res/drawable-nodpi/掃清了起來,表示兩件事情:

  1. 圖像可能是過大與

  2. 開始上採樣圖像到更高的密度失敗,因爲沒有足夠大的存儲器塊可用於較大的上採樣圖像

+0

FYI res/drawable也是一個合適的地方,可以放入沒有固定分辨率的.xml/vector資源。 – swooby

+0

@swooby:說實話,我不同意。現在,由Android工具團隊提供的禮物,我們沒有選擇矢量繪圖的問題。但是,我從來沒有將其他XML資源放在那裏。工具團隊的這個決定是我不得不向開發人員解釋'res/drawable /'的真正角色的原因之一。 – CommonsWare

+0

夠公平@CommonsWare,派對上! – swooby

相關問題