Ich habe einige Code mit der neuen Palette
Klasse und ich bekomme diese Absturzberichte auf Crashlytics sagen, dass die width and height must be > 0
. Was seltsam ist, dass das ist, wie ich die Palette Code aufrufen:android.support.v7.graphics.Palette Breite und Höhe muss> 0
if(bitmap == null || bitmap.getHeight() <= 0 || bitmap.getWidth() <= 0){
//do something
}else{
Palette.Builder(bitmap).generate(new Palette.PaletteAsyncListener() {
.....
}
So bin ich einfach nicht sicher, wie es möglich ist, dass die Bitmap ganz plötzlich nicht die richtige Höhe oder Breite hat. Ich weiß nicht, aus welchem Teil meines Codes die Ausnahme stammt, da der Bericht nur Elemente in der Palettenklasse enthält. Hier
ist die Ausnahme:
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)
ich die Palette Klasse bin mit von com.android.support:palette-v7:23+
Irgendwelche Ideen, was falsch sein könnte?
sind Sie wirklich sicher, dass die Bitmap etwas hat oder überhaupt angezeigt wird? Palette muss das Bild analysieren und einige ms später erhalten Sie die Farbe. –
Nun, ich bekomme nur die Fehler über Crashlytics, passiert mir nie. Aber ich überprüfe vor dem Aufruf des Palettencodes auf Null und Größe. – casolorz
die App stürzt nie ab? Sie könnten das Problem neu erstellen? wenn nicht ... vielleicht haben einige Benutzer ein Low-End-Smartphone und die Aufgabe hat viel zu viel Zeit in Anspruch genommen und Palette Null-Werte finden (Absturz über Palette und nicht über die Bitmap) –