Merge "Limit persistent ashmem backed fds to a minimum of 128kB." into mnc-dr-dev
This commit is contained in:
@@ -3969,7 +3969,9 @@ public class Notification implements Parcelable
|
||||
@Override
|
||||
public void purgeResources() {
|
||||
super.purgeResources();
|
||||
if (mPicture != null && mPicture.isMutable()) {
|
||||
if (mPicture != null &&
|
||||
mPicture.isMutable() &&
|
||||
mPicture.getAllocationByteCount() >= (128 * (1 << 10))) {
|
||||
mPicture = mPicture.createAshmemBitmap();
|
||||
}
|
||||
if (mBigLargeIcon != null) {
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <cutils/ashmem.h>
|
||||
|
||||
#define DEBUG_PARCEL 0
|
||||
#define ASHMEM_BITMAP_MIN_SIZE (128 * (1 << 10))
|
||||
|
||||
namespace android {
|
||||
|
||||
@@ -993,7 +994,7 @@ static jobject Bitmap_createFromParcel(JNIEnv* env, jobject, jobject parcel) {
|
||||
|
||||
// Map the bitmap in place from the ashmem region if possible otherwise copy.
|
||||
Bitmap* nativeBitmap;
|
||||
if (blob.fd() >= 0 && (blob.isMutable() || !isMutable)) {
|
||||
if (blob.fd() >= 0 && (blob.isMutable() || !isMutable) && (size >= ASHMEM_BITMAP_MIN_SIZE)) {
|
||||
#if DEBUG_PARCEL
|
||||
ALOGD("Bitmap.createFromParcel: mapped contents of %s bitmap from %s blob "
|
||||
"(fds %s)",
|
||||
|
||||
@@ -382,7 +382,9 @@ public final class Icon implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
public void convertToAshmem() {
|
||||
if (mType == TYPE_BITMAP && getBitmap().isMutable()) {
|
||||
if (mType == TYPE_BITMAP &&
|
||||
getBitmap().isMutable() &&
|
||||
getBitmap().getAllocationByteCount() >= (128 * (1 << 10))) {
|
||||
setBitmap(getBitmap().createAshmemBitmap());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user