Gray Liu
Gray Liu
getNextFrame()应该是由glide框架在同一个线程里驱动的,mFrameBitmapCache里Bitmap不会被上层业务和glide持有,为什么会出现多线程问题?你这个case是怎么使用的,直接调用了WebpDecoder的API?
No plan to do. It is a glide plugin library like [glide-transformations](https://github.com/wasabeef/glide-transformations)
can you provide the image urls? and try reproduce in sample project?
@hukejia 我在demo里没有复现oom问题。你用的是哪个版本的,是否跟机型和系统有关,有其他规律吗,使用AS的profiler看下内存是在持续增长吗
@guod13 可以log看下1s播放了多少帧,只在Galaxy J3 pro上有问题吗,其他机型是否有类似问题。动画播放是handle message驱动的,主线程是否有其他耗时的逻辑导致掉帧了呢 能否提供下webp的图片,尝试使用demo project复现下呢?
can you try reproduce it with sample code and those corrupt webp images? those image urls could be shared to investigate this issue?
提供下sample代码和webp图片,失真的截图。缩小是什么意思
大致看了下,应该是libwebp降采样解码的bug,需要给google反馈下
> 我这边试了一下,renderFrame的时候,先获取原尺寸图,在通过BitmapFactory降低采样率,就不会出这个问题,但是cpu占用相应会高。 >  > @zjupure 这样是利用Android Bitmap解码png的能力,不推荐这么做,2次解码了,cpu和性能都有影响;解码原图后,直接Bitmap scale下更快,只是内存占用会多点,缓存有上限,没有极端webp图应该还好。影响你们APP功能使用的话,可以这样改workaround下。 我给google提issue了:https://bugs.chromium.org/p/webp/issues/detail?id=531
Could you show some specific use cases? It behaviors align with Gif images.