私の 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 に作業を続行させることです。これは良い考えですか、それともより良いアプローチがありますか?