Merge "Clearing screenshot bitmap references and recycling bitmap data immediately after saving. (Bug 7974275)"
This commit is contained in:
@ -220,13 +220,21 @@ class SaveImageInBackgroundTask extends AsyncTask<SaveImageInBackgroundData, Voi
|
|||||||
resolver.update(uri, values, null, null);
|
resolver.update(uri, values, null, null);
|
||||||
|
|
||||||
params[0].imageUri = uri;
|
params[0].imageUri = uri;
|
||||||
|
params[0].image = null;
|
||||||
params[0].result = 0;
|
params[0].result = 0;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// IOException/UnsupportedOperationException may be thrown if external storage is not
|
// IOException/UnsupportedOperationException may be thrown if external storage is not
|
||||||
// mounted
|
// mounted
|
||||||
|
params[0].imageUri = null;
|
||||||
|
params[0].image = null;
|
||||||
params[0].result = 1;
|
params[0].result = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Recycle the bitmap data
|
||||||
|
if (image != null) {
|
||||||
|
image.recycle();
|
||||||
|
}
|
||||||
|
|
||||||
return params[0];
|
return params[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,6 +469,10 @@ class GlobalScreenshot {
|
|||||||
// Save the screenshot once we have a bit of time now
|
// Save the screenshot once we have a bit of time now
|
||||||
saveScreenshotInWorkerThread(finisher);
|
saveScreenshotInWorkerThread(finisher);
|
||||||
mWindowManager.removeView(mScreenshotLayout);
|
mWindowManager.removeView(mScreenshotLayout);
|
||||||
|
|
||||||
|
// Clear any references to the bitmap
|
||||||
|
mScreenBitmap = null;
|
||||||
|
mScreenshotView.setImageBitmap(null);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mScreenshotLayout.post(new Runnable() {
|
mScreenshotLayout.post(new Runnable() {
|
||||||
|
Reference in New Issue
Block a user