Android關於drawable和drawable-v24,mipmap-anydpi-v26引起的java.lang.NullPointerException
阿新 • • 發佈:2019-02-10
前言
經常我們放置圖片一般預設drawable,mipmap-hdpi,mipmap-mdpi,mipmap-xhdpi資料夾下,這樣的情況下我們執行起來的APP也不會出現什麼問題,那麼如果圖片放在drawable-v24,mipmap-anydpi-v26資料夾下就會出現問題。這是由於在不同的drawable,mipmap資料夾用於為裝置相容性和不同的Android版本提供不同的螢幕密度造成的。
1.建立一個專案時自動生成res目錄
drawable
drawable-v24
layout
mipmap-anydpi-v26
mipmap-hdpi
mipmap-mdpi
mipmap-xhdpi
mipmap-xxhdpi
mipmap-xxxhdpi
解決錯誤的最好方法是 我們打斷點去看,常見的錯誤如下:
1.android.content.res.Resources$NotFoundException: Resource
2. Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int
android.graphics.Bitmap.getWidth()' on a null object reference
總結:
圖片資源放到drawable-v24裡面,導致7.0以下不能找到圖片 不同的drawable資料夾用於為裝置相容性和不同的Android版本提供不同的螢幕密度。同理mipmap-anydpi-v26 API 26(安卓8.0)也是一樣的道理,注意不同的檔案對應的不同的版本。