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


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

異常原因分析:Canvas繪制bitmap需要的內存太大了,OOM了,直接就crash了。

 

導致原因1:圖片太大了,修改圖片的大小即可解決。

導致原因2: 圖片放的位置不合理,如果只有mipmap-*dpi的幾個文件夾,沒有drawable-*dpi對應的文件夾,只有默認的drawable文件夾,把圖片放到drawable文件夾下

                就會導致上面的異常,假如你的設備需要drawable-xxhdpi下的資源,那么只需要把圖片從drawable移動到drawable-xxhdpi即可解決.

      或者新建drawable-nodpi文件夾,把圖片資源移動到drawable-nodpi文件夾即可。

                此種情況下Android設備會默認把drawable下的圖片資源自動放大n*n,重新生成一個bitmap,然后再加載,然后就出現OOM,crash了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM