从屏幕关闭调用onStop后无法绘制回收的位图

时间:2013-10-08 14:39:37

标签: android android-asynctask android-imageview android-lifecycle

在我的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。这是一个好主意还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

好吧,我现在使用它了

 pm =(PowerManager) getSystemService(Context.POWER_SERVICE);
 if (pm.isScreenOn() == false) { ... }

检查为什么onResume和onStop被调用