diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-04 10:40:17 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-04 10:40:17 -0700 |
| commit | a41962065a93b63e7161cffd662b564e01a9e189 (patch) | |
| tree | 9945a98db77b622b758cb92d26e3c5422ab4de41 | |
| parent | 3d3e307a63144b1bddd534fefd35a557223d52bf (diff) | |
| parent | 2a2c5cd74128a7750f05683614c9824c9262addc (diff) | |
| download | frameworks_base-a41962065a93b63e7161cffd662b564e01a9e189.zip frameworks_base-a41962065a93b63e7161cffd662b564e01a9e189.tar.gz frameworks_base-a41962065a93b63e7161cffd662b564e01a9e189.tar.bz2 | |
Merge change 3074 into donut
* changes:
Modify the decoding logic in the FD case when a purgeable flag is set, and lower the threshold of bitmap size for using ashmem().
| -rw-r--r-- | core/jni/android/graphics/BitmapFactory.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp index 1fd15d6..137707f 100644 --- a/core/jni/android/graphics/BitmapFactory.cpp +++ b/core/jni/android/graphics/BitmapFactory.cpp @@ -311,7 +311,7 @@ static SkPixelRef* installPixelRef(SkBitmap* bitmap, SkStream* stream, int sampleSize) { SkPixelRef* pr; // only use ashmem for large images, since mmaps come at a price - if (bitmap->getSize() >= 32 * 65536) { + if (bitmap->getSize() >= 32 * 1024) { pr = new SkImageRef_ashmem(stream, bitmap->config(), sampleSize); } else { pr = new SkImageRef_GlobalPool(stream, bitmap->config(), sampleSize); @@ -520,7 +520,10 @@ static jobject nativeDecodeFileDescriptor(JNIEnv* env, jobject clazz, */ AutoFDSeek as(descriptor); - return doDecode(env, stream, padding, bitmapFactoryOptions, true); + /* Allow purgeable iff we own the FD, i.e., in the puregeable and + shareable case. + */ + return doDecode(env, stream, padding, bitmapFactoryOptions, weOwnTheFD); } /* make a deep copy of the asset, and return it as a stream, or NULL if there |
