在我的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。这是一个好主意还是有更好的方法?
答案 0 :(得分:0)
好吧,我现在使用它了
pm =(PowerManager) getSystemService(Context.POWER_SERVICE);
if (pm.isScreenOn() == false) { ... }
检查为什么onResume和onStop被调用