问题描述
我正在尝试在扩展 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
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)