這是我使用的代碼:位圖無法加載一個2MB的圖像
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
Bitmap imatgeOriginal = BitmapFactory.decodeFile(imageUrl, options);
Bitmap resizedbitmap = Bitmap.createScaledBitmap(imatgeOriginal, 1000, 1000, true);
正如你可以看到我調整與選擇的圖像,但反正它只是崩潰的最後一行,拋一個NullPointerException。所以imatgeOriginal
是null
爲什麼會發生這種情況?
一些注意事項:
- 的圖像是2 MB(大於16 MB極限以下),大小爲1105×1491
- 圖像確實存在
- 相同的代碼可與較小的圖像大於1.5 MB
輸出中的logcat:
08-22 15:11:13.249: E/AndroidRuntime(5404): FATAL EXCEPTION: main
08-22 15:11:13.249: E/AndroidRuntime(5404):
java.lang.NullPointerException 08-22 15:11:13.249:
E/AndroidRuntime(5404): at
android.graphics.Bitmap.createScaledBitmap(Bitmap.java:432) 08-22
15:11:13.249: E/AndroidRuntime(5404): at
myclass.onAnimationEnd(productView.java:2126) 08-22 15:11:13.249:
E/AndroidRuntime(5404): at
android.view.animation.AnimationSet.getTransformation(AnimationSet.java:397)
編輯:
發生了一些奇怪的事情,文件映像存在,路由是正確的。然而,android檢測到這個圖像爲CORRUPT或至少它無法打開任何工具(默認畫廊,文件瀏覽器,沒有我的應用程序)。 但是,如果我將圖像下載到我的計算機上,圖像將完美顯示。這個應用程序也在iOS中運行,同一圖像實際上可見並且看起來沒有損壞。
所以我想在Android中加載JPEG文件有一些限制。
你們有類似的問題嗎?
一些資源,我發現: http://code.google.com/p/skia/issues/detail?id=69#c2 Unable to load JPEG-image with BitmapFactory.decodeFile. Returns null
發佈logcat輸出。 –
投票結束這個問題的人不應該這樣做。在這個問題上沒有任何類似的... omg。 – Reinherd
@ S.D。完成,檢查出來。 2126行是我在這篇文章中最後一個。 – Reinherd