0

私の onStop および onPause メソッドでは、次のことを行います。

 @Override
    protected void onStop() {
        if (backgroundBitmap != null) {
          backgroundBitmap.recycle();
          backgroundBitmap = null;
        }
}

@Override
    protected void onPause() {
     imageService.setPauseWork(false);
     imageService.setExitTasksEarly(true);
     imageService.flushCache();
}

画面をオフに切り替えると、 onPause と onStop が呼び出され、その後、次の例外が発生します。

java.lang.IllegalArgumentException: Cannot draw recycled bitmaps

彼は絵を描き続けているようですが、ビットマップはすでにリサイクルされていますか?

私の考えは、画面がオフになっているために onStop/onResume が呼び出されたときに、ビットマップをリサイクルせず、imageworker に作業を続行させることです。これは良い考えですか、それともより良いアプローチがありますか?

4

1 に答える 1