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().
This commit is contained in:
@@ -311,7 +311,7 @@ static SkPixelRef* installPixelRef(SkBitmap* bitmap, SkStream* stream,
|
|||||||
int sampleSize) {
|
int sampleSize) {
|
||||||
SkPixelRef* pr;
|
SkPixelRef* pr;
|
||||||
// only use ashmem for large images, since mmaps come at a price
|
// 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);
|
pr = new SkImageRef_ashmem(stream, bitmap->config(), sampleSize);
|
||||||
} else {
|
} else {
|
||||||
pr = new SkImageRef_GlobalPool(stream, bitmap->config(), sampleSize);
|
pr = new SkImageRef_GlobalPool(stream, bitmap->config(), sampleSize);
|
||||||
@@ -520,7 +520,10 @@ static jobject nativeDecodeFileDescriptor(JNIEnv* env, jobject clazz,
|
|||||||
*/
|
*/
|
||||||
AutoFDSeek as(descriptor);
|
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
|
/* make a deep copy of the asset, and return it as a stream, or NULL if there
|
||||||
|
|||||||
Reference in New Issue
Block a user