Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First time to load image format PNG from network will not be shown #1803

Closed
Presleyzheng opened this issue Jun 20, 2017 · 0 comments
Closed

Comments

@Presleyzheng
Copy link

Presleyzheng commented Jun 20, 2017

Description

Image formate PNG with this line on version 1.3.0

If image format PNG and an intermediate_result of NetworkProducer will cause BitmapFactory.decode throw exception and mIsFinished be set true, and the final image will not be decode to show on the first time to load from NetworkProducer.

Reproduction

just load image format PNG without cache that will not be shown.

Solution

May add encodedImage.getImageFormat() == DefaultImageFormats.PNG with this line

Additional Information

  • Fresco version: [1.3.0]
    Fresco version:[1.2.0] is OK.

Log for first time load with Fresco version[1.3.0]

AbstractDraweeController: controller 2c7e837 15: submitRequest: dataSource: fbebac2
RequestLoggingListener: time 58121026: onProducerFinishWithSuccess: {requestId: 12, producer: BackgroundThreadHandoffProducer, elapsedTime: 1 ms, extraMap: null}
RequestLoggingListener: time 58121026: onProducerStart: {requestId: 12, producer: BitmapMemoryCacheProducer}
RequestLoggingListener: time 58121026: onProducerFinishWithSuccess: {requestId: 12, producer: BitmapMemoryCacheProducer, elapsedTime: 0 ms, extraMap: {cached_value_found=false}}
RequestLoggingListener: time 58121026: onProducerStart: {requestId: 12, producer: EncodedMemoryCacheProducer}
RequestLoggingListener: time 58121027: onProducerFinishWithSuccess: {requestId: 12, producer: EncodedMemoryCacheProducer, elapsedTime: 1 ms, extraMap: {cached_value_found=false}}
RequestLoggingListener: time 58121027: onProducerStart: {requestId: 12, producer: DiskCacheProducer}
BufferedDiskCache: Did not find image for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png in staging area
BufferedDiskCache: Disk cache read for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
BufferedDiskCache: Disk cache miss for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
RequestLoggingListener: time 58121028: onProducerFinishWithSuccess: {requestId: 12, producer: DiskCacheProducer, elapsedTime: 1 ms, extraMap: {cached_value_found=false}}
RequestLoggingListener: time 58121028: onProducerStart: {requestId: 12, producer: NetworkFetchProducer}
AbstractDraweeController: controller 8336410 null -> 16: initialize
AbstractDraweeController: controller 8336410 16: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@abeab09
AbstractDraweeController: controller 8336410 16 -> 17: initialize
AbstractDraweeController: controller 8336410 17: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@abeab09
AbstractDraweeController: controller 8336410 17: onAttach: request needs submit
PipelineDraweeController: controller 8336410: getDataSource
RequestLoggingListener: time 58121049: onRequestSubmit: {requestId: 13, callerContext: null, isPrefetch: false}
RequestLoggingListener: time 58121049: onProducerStart: {requestId: 13, producer: BitmapMemoryCacheGetProducer}
RequestLoggingListener: time 58121049: onProducerFinishWithSuccess: {requestId: 13, producer: BitmapMemoryCacheGetProducer, elapsedTime: 0 ms, extraMap: {cached_value_found=false}}
RequestLoggingListener: time 58121049: onProducerStart: {requestId: 13, producer: BackgroundThreadHandoffProducer}
RequestLoggingListener: time 58121050: onProducerFinishWithSuccess: {requestId: 13, producer: BackgroundThreadHandoffProducer, elapsedTime: 1 ms, extraMap: null}
AbstractDraweeController: controller 8336410 17: submitRequest: dataSource: d41c10e
AbstractDraweeController: controller 8336410 17: onDetach
RequestLoggingListener: time 58121058: onRequestCancellation: {requestId: 13, elapsedTime: 9 ms}
NativeMemoryChunkPool: Used = (10, 1331200); Free = (0, 0)
NativeMemoryChunkPool: get (alloc) (object, size) = (fad4d27, 262144)
GenericByteArrayPool: Used = (1, 16384); Free = (4, 65536)
GenericByteArrayPool: get (reuse) (object, size) = (9d34500, 16384)
RequestLoggingListener: time 58121959: onProducerEvent: {requestId: 12, stage: NetworkFetchProducer, eventName: intermediate_result; elapsedTime: 931 ms}
DownsampleUtil: Downsample - Specified size: 240x240, image size: 1080x1920 ratio: 0.2 x 0.1, ratio: 0.222 for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
RequestLoggingListener: time 58121962: onProducerStart: {requestId: 12, producer: DecodeProducer}
BitmapPool: Used = (6, 7754224); Free = (0, 0)
BitmapPool: get (alloc) (object, size) = (308317d, 518400)
BitmapPool: release (free) (object, size) = (308317d, 518400)
BitmapPool: Used = (5, 7235824); Free = (0, 0)
06-20 14:20:19.435 16067-16354/com.llymobile.pt W/unknown:RequestLoggingListener: time 58121969: onProducerFinishWithFailure: {requestId: 12, stage: DecodeProducer, elapsedTime: 7 ms, extraMap: {sampleSize=4, hasGoodQuality=true, imageFormat=PNG, isFinal=false, encodedImageSize=1080x1920, queueTime=1, requestedImageSize=240x240}, throwable: java.lang.IllegalArgumentException: Problem decoding into existing bitmap}
06-20 14:20:19.435 16067-16354/com.llymobile.pt W/unknown:RequestLoggingListener: time 58121969: onRequestFailure: {requestId: 12, elapsedTime: 944 ms, throwable: java.lang.IllegalArgumentException: Problem decoding into existing bitmap}
AbstractDraweeController: controller 2c7e837 15: final_failed @ onFailure: failure: java.lang.IllegalArgumentException: Problem decoding into existing bitmap
RequestLoggingListener: time 58122060: onProducerEvent: {requestId: 12, stage: NetworkFetchProducer, eventName: intermediate_result; elapsedTime: 1032 ms}
DownsampleUtil: Downsample - Specified size: 240x240, image size: 1080x1920 ratio: 0.2 x 0.1, ratio: 0.222 for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
RequestLoggingListener: time 58122116: onProducerFinishWithSuccess: {requestId: 12, producer: NetworkFetchProducer, elapsedTime: 1088 ms, extraMap: {fetch_time=159, queue_time=929, image_size=168863, total_time=1088}}
RequestLoggingListener: time 58122116: onUltimateProducerReached: {requestId: 12, producer: NetworkFetchProducer, elapsedTime: -1 ms, success: true}
StagingArea: Count = 1
BufferedDiskCache: About to write to disk-cache for key https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
GenericByteArrayPool: release (reuse) (object, size) = (9d34500, 16384)
GenericByteArrayPool: Used = (0, 0); Free = (5, 81920)
GenericByteArrayPool: Used = (1, 16384); Free = (4, 65536)
GenericByteArrayPool: get (reuse) (object, size) = (910398a, 16384)
GenericByteArrayPool: release (reuse) (object, size) = (910398a, 16384)
GenericByteArrayPool: Used = (0, 0); Free = (5, 81920)
BufferedDiskCache: Successful disk-cache write for key https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
StagingArea: Count = 0
DownsampleUtil: Downsample - Specified size: 240x240, image size: 1080x1920 ratio: 0.2 x 0.1, ratio: 0.222 for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png

Log for first time load with Fresco version[1.2.0]

RequestLoggingListener: time 60010801: onProducerFinishWithSuccess: {requestId: 12, producer: BackgroundThreadHandoffProducer, elapsedTime: 0 ms, extraMap: null}
AbstractDraweeController: controller a2ff140 21: submitRequest: dataSource: c54ba1f
RequestLoggingListener: time 60010801: onProducerStart: {requestId: 12, producer: BitmapMemoryCacheProducer}
RequestLoggingListener: time 60010801: onProducerFinishWithSuccess: {requestId: 12, producer: BitmapMemoryCacheProducer, elapsedTime: 0 ms, extraMap: {cached_value_found=false}}
RequestLoggingListener: time 60010801: onProducerStart: {requestId: 12, producer: EncodedMemoryCacheProducer}
RequestLoggingListener: time 60010801: onProducerFinishWithSuccess: {requestId: 12, producer: EncodedMemoryCacheProducer, elapsedTime: 0 ms, extraMap: {cached_value_found=false}}
RequestLoggingListener: time 60010802: onProducerStart: {requestId: 12, producer: DiskCacheProducer}
BufferedDiskCache: Did not find image for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png in staging area
BufferedDiskCache: Disk cache read for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
BufferedDiskCache: Disk cache miss for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
RequestLoggingListener: time 60010802: onProducerFinishWithSuccess: {requestId: 12, producer: DiskCacheProducer, elapsedTime: 0 ms, extraMap: {cached_value_found=false}}
RequestLoggingListener: time 60010802: onProducerStart: {requestId: 12, producer: NetworkFetchProducer}
AbstractDraweeController: controller 311335 null -> 22: initialize
AbstractDraweeController: controller 311335 22: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@8bd83ca
AbstractDraweeController: controller 311335 22 -> 23: initialize
AbstractDraweeController: controller 311335 23: setHierarchy: com.facebook.drawee.generic.GenericDraweeHierarchy@8bd83ca
AbstractDraweeController: controller 311335 23: onAttach: request needs submit
PipelineDraweeController: controller 311335: getDataSource
RequestLoggingListener: time 60010822: onRequestSubmit: {requestId: 13, callerContext: null, isPrefetch: false}
RequestLoggingListener: time 60010823: onProducerStart: {requestId: 13, producer: BitmapMemoryCacheGetProducer}
RequestLoggingListener: time 60010823: onProducerFinishWithSuccess: {requestId: 13, producer: BitmapMemoryCacheGetProducer, elapsedTime: 0 ms, extraMap: {cached_value_found=false}}
RequestLoggingListener: time 60010823: onProducerStart: {requestId: 13, producer: BackgroundThreadHandoffProducer}
AbstractDraweeController: controller 311335 23: submitRequest: dataSource: f14d93b
RequestLoggingListener: time 60010823: onProducerFinishWithSuccess: {requestId: 13, producer: BackgroundThreadHandoffProducer, elapsedTime: 0 ms, extraMap: null}
AbstractDraweeController: controller 311335 23: onDetach
RequestLoggingListener: time 60010830: onRequestCancellation: {requestId: 13, elapsedTime: 8 ms}
NativeMemoryChunkPool: Used = (12, 1595392); Free = (0, 0)
NativeMemoryChunkPool: get (alloc) (object, size) = (4f734b3, 262144)
GenericByteArrayPool: Used = (1, 16384); Free = (4, 65536)
GenericByteArrayPool: get (reuse) (object, size) = (65015a8, 16384)
RequestLoggingListener: time 60011917: onProducerEvent: {requestId: 12, stage: NetworkFetchProducer, eventName: intermediate_result; elapsedTime: 1115 ms}
GenericByteArrayPool: Used = (2, 32768); Free = (3, 49152)
GenericByteArrayPool: get (reuse) (object, size) = (c0c0866, 16384)
GenericByteArrayPool: release (reuse) (object, size) = (c0c0866, 16384)
GenericByteArrayPool: Used = (1, 16384); Free = (4, 65536)
RequestLoggingListener: time 60012021: onProducerEvent: {requestId: 12, stage: NetworkFetchProducer, eventName: intermediate_result; elapsedTime: 1219 ms}
RequestLoggingListener: time 60012422: onProducerEvent: {requestId: 12, stage: NetworkFetchProducer, eventName: intermediate_result; elapsedTime: 1620 ms}
RequestLoggingListener: time 60012565: onProducerEvent: {requestId: 12, stage: NetworkFetchProducer, eventName: intermediate_result; elapsedTime: 1763 ms}
RequestLoggingListener: time 60012718: onProducerEvent: {requestId: 12, stage: NetworkFetchProducer, eventName: intermediate_result; elapsedTime: 1916 ms}
RequestLoggingListener: time 60012814: onProducerFinishWithSuccess: {requestId: 12, producer: NetworkFetchProducer, elapsedTime: 2012 ms, extraMap: {fetch_time=898, queue_time=1113, image_size=168863, total_time=2011}}
StagingArea: Count = 1
BufferedDiskCache: About to write to disk-cache for key https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
GenericByteArrayPool: release (reuse) (object, size) = (65015a8, 16384)
GenericByteArrayPool: Used = (0, 0); Free = (5, 81920)
DownsampleUtil: Downsample - Specified size: 240x240, image size: 1080x1920 ratio: 0.2 x 0.1, ratio: 0.222 for https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
RequestLoggingListener: time 60012817: onProducerStart: {requestId: 12, producer: DecodeProducer}
GenericByteArrayPool: Used = (1, 16384); Free = (4, 65536)
GenericByteArrayPool: get (reuse) (object, size) = (a8ad073, 16384)
BitmapPool: Used = (13, 18927292); Free = (0, 0)
BitmapPool: get (alloc) (object, size) = (7a6737a, 518400)
GenericByteArrayPool: release (reuse) (object, size) = (a8ad073, 16384)
GenericByteArrayPool: Used = (0, 0); Free = (5, 81920)
BufferedDiskCache: Successful disk-cache write for key https://oss/guidance/20170619/65977889560548038d83149118afb80e.png
StagingArea: Count = 0
RequestLoggingListener: time 60012895: onProducerFinishWithSuccess: {requestId: 12, producer: DecodeProducer, elapsedTime: 78 ms, extraMap: {sampleSize=4, hasGoodQuality=true, imageFormat=PNG, isFinal=true, encodedImageSize=1080x1920, queueTime=1, requestedImageSize=240x240, bitmapSize=270x480}}
RequestLoggingListener: time 60012895: onRequestSuccess: {requestId: 12, elapsedTime: 2094 ms}
AbstractDraweeController: controller a2ff140 21: set_final_result @ onNewResult: image: CloseableReferenceWithFinalizer 36a872b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant