Android Recycled Bitmap Crash, отправленный через отчет о трассировке стека - PullRequest
0 голосов
/ 05 января 2012

У меня не так много информации, чтобы извлечь из нее информацию, так как в отчетах не было комментариев о том, в какую часть моей игры играли, когда произошел сбой, но с того места, где я стою, должно быть невозможнополучаю эту ошибку.

Это stackTrace:

java.lang.RuntimeException: Canvas: trying to use a recycled bitmap         
android.graphics.Bitmap@44d37950 at 
android.graphics.Canvas.throwIfRecycled(Canvas.java:955) at 
android.graphics.Canvas.drawBitmap(Canvas.java:1044) at 
bladequest.graphics.DrawObject.render(DrawObject.java:81)

Я получаю сообщение об ошибке, говорящее, что в какой-то момент в программе используются переработанные растровые изображения из строк 77 и из 81 (отдельные трассировки стека)

Тем не менее, вот мой код для этих строк:

case Bmp1:
        if(bmp != null && !bmp.isRecycled())
            canvas.drawBitmap(bmp, f1, f2, p);
        break;
    case Bmp2:
        if(bmp != null && !bmp.isRecycled())
            canvas.drawBitmap(bmp, r1, r2, p);
        break;

Как вообще возможно, что переработанный битовый образ когда-либо попадает в вызов отрисовки ???

1 Ответ

0 голосов
/ 05 января 2012

причина, по которой может быть вызван метод onDraw, если вы хотите переработать растровое изображение и избежать этой ошибки, предложите переопределить метод onDraw, в ondraw вам необходимо проверить bmp != null && !bmp.isRecycled()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...