新しいPalette
クラスを使用してコードをいくつか持っていますが、これらのクラッシュレポートには、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+
から間違っているかもしれないものの任意のアイデアをパレットクラスを使用していますか?
です:あなたは、キーの色を抽出するために、高解像度の画像を必要としないので、ちょうどあなたのオリジナルのものから作成された低解像度のビットマップを提供本当にビットマップが何かを持っているか、または表示されていることを本当に確認しますか?パレットは画像を分析しなければならず、数ms後に色を取得します。 –
さて、私はCrashlytics以上のエラーしか出ません。私には起こりません。しかし、パレットコードを呼び出す前にnullとandのサイズをチェックしています。 – casolorz
アプリがクラッシュすることはありませんか?問題を再現できますか?そうでない場合は...多分一部のユーザーがローエンドのスマートフォンを持っていて、タスクが時間がかかり過ぎてパレットがヌル値を見つけました(パレット上で、ビットマップ上でクラッシュする) –