facebook/fresco 可以用于绘制精灵吗?

时间:2020-12-23 17:47:18

标签: android image-processing caching fresco

我正在尝试在扩展 SimpleDraweeView 的自定义视图中为启动画面绘制精灵(可绘制图像)。我有大约 30 个图像要使用 int logo_frame_drawables[] 从我的 drawables 目录加载。通过从自定义视图中调用 setImageResource() 来正常绘制它们不会用 fresco 平滑地呈现动画,从 Android Studio 重新运行应用程序可以让动画在 Activity 时平滑地呈现重新启动(我猜此时精灵已被 fresco 缓存,并且自重用以来没有打嗝运行)。我现在的问题是我决定按照

成功预取精灵
        Uri[] logo_frames=...;

        logo_frames[i]=resourceToUri(resources, logo_frame_drawables[i]);
        ImageRequest request= ImageRequestBuilder.newBuilderWithSource(logo_frames[i]).setResizeOptions(new ResizeOptions(width, height)).build();
        Fresco.getImagePipeline().prefetchToBitmapCache(request, null);

这样一旦所有图像都被缓存,在之后开始动画 总是很顺利。事实证明缓存使事情变得更糟,我似乎无法在官方网站上找到有关如何执行此操作的任何相关指南。请问正确的方法是什么

<块引用>

我还使用 setImageURI() 在自定义视图中绘制图像,因为每个图像都使用相同的 uri 预取到缓存中

更新:令我惊讶的是Fresco.getImagePipeline().isInBitmapMemoryCache(uri)对于从 RequestListener< /p>

0 个答案:

没有答案