我有一些代碼使用新的Palette
類,我得到Crashlytics這些崩潰報告說,width and height must be > 0
。奇怪的是,這是我如何調用調色板代碼:android.support.v7.graphics.Palette寬度和高度必須> 0
if(bitmap == null || bitmap.getHeight() <= 0 || bitmap.getWidth() <= 0){
//do something
}else{
Palette.Builder(bitmap).generate(new Palette.PaletteAsyncListener() {
.....
}
所以我只是不知道它是如何可能的是,突然的位圖都沒有合適的高度或寬度。我不知道哪部分代碼是異常來源,因爲報告只包含調色板類中的內容。
這裏是個例外:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.IllegalArgumentException: width and height must be > 0
at android.graphics.Bitmap.createBitmap(Bitmap.java:815)
at android.graphics.Bitmap.createBitmap(Bitmap.java:794)
at android.graphics.Bitmap.createBitmap(Bitmap.java:725)
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:601)
at android.support.v7.graphics.Palette.scaleBitmapDown(Palette.java:282)
at android.support.v7.graphics.Palette.access$100(Palette.java:67)
at android.support.v7.graphics.Palette$Builder.generate(Palette.java:557)
at android.support.v7.graphics.Palette$Builder$1.doInBackground(Palette.java:623)
at android.support.v7.graphics.Palette$Builder$1.doInBackground(Palette.java:620)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
從com.android.support:palette-v7:23+
什麼可能是錯的任何想法,我現在用的調色板類?
你真的確定位圖有什麼或甚至顯示?調色板必須分析圖像,幾毫秒後,你會看到顏色。 –
嗯,我只能通過Crashlytics得到錯誤,從來沒有發生過我。但是在調用調色板代碼之前我正在檢查null和size。 – casolorz
該應用永不崩潰?你可以重新創建這個問題?如果沒有...也許一些用戶有一個低端的智能手機和任務花了太多時間和調色板找到空值(碰撞調色板,而不是在位圖) –