我正在使用带有 s:SWFLoader 的自定义渲染器在 s:List 中显示客户端 swf 头像。useVirtualLayout 为“开启”。
当新客户端到达(或离开聊天)时,s:List 将新数据发送到渲染器。
所以渲染器中的 SWFLoader 必须加载新数据。结果我们有闪烁。当 swf 头像消失第二次并再次出现时。
当所有头像都只是图像时,我已经解决了这个问题。我从 Loader 中保存了内容并将其用作 s:Image 的数据源。
但是对于 swf 头像,这种方法不起作用,因为在舞台上添加后我们无法更改 AVM1Movie 的父级(没有尝试过另一个版本,因为我也必须支持这个)。
我查看了 SWFLoader 源代码,发现 Loader 在加载数据之前添加在舞台上。
我还尝试将 swf 加载到 ByteArray 并调用 loadBytes。但是闪烁仍然存在。
我试图将 Loader 作为源返回。
那么在这种情况下你会建议做什么呢?swf 缓存可能吗?