1. 程式人生 > >java.lang.RuntimeException: Canvas: trying to draw too large(203212800bytes) bitmap.

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

新建 nbsp 位置 oid 原因分析 can sha bitmap sharp

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了。

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