获取加载素材的进度

17 篇文章 0 订阅
9 篇文章 0 订阅

问题:要加载一批素材,希望实时显示素材的加载进度。


解决方案:

1.串行加载,总进度是素材数量,总进度条按照素材数量等分n份,进度是已加载完成的素材数量。

这种按照素材个数等分的进度管理方式最简单,能大概显示进度信息。每一个素材加载完成进度向前走一步。缺点是进度条是跳跃显示,而且大素材和小素材加载时间不一,跳的频率不固定,串行导致全部素材加载完成时间长。

2.串行加载,总进度是素材数量,总进度条按照素材数量等分n份,每个素材检测加载进度。

在上一种方式基础上改进了,每个素材的加载进度实时显示出来,进度条会有一个连续增长的表现。缺点是大素材加载时进度条跑的慢,进度条不匀速增长,串行导致全部素材加载完成时间长。

3.并行加载,总进度是素材数量,总进度条按照素材数量等分n份,进度是已加载完成的素材数量。

和第一种方式一样。进度条增长是跳跃式的,只不过并行会大大缩短全部素材load的时间。

4.并行加载,总进度是所有素材的大小总和,检测每个素材加载进度,当前进度是所有已加载素材的当前加载大小之和。

这样能保证加载进度是真实的进度,最准确,表现效果最好。前几种方式按数量划分,这种方式按照素材大小展示进度,一般网速稳定的情况下下载多个大小不一的素材这种方式的展现效果最好。需要提前知道每个素材的总大小。


在实际开发中一般建议同时保持2个左右的下载链接,过多的链接消耗大量网络资源,可能导致flash奔溃。而且如果小文件过多,发起的链接越多下载速度越慢。

这种优化已经在第三方工具中做好了,一般使BulkLoader或者LoaderMax之类的工具。


参考关于优化加载素材的一文:

Flash应用效率优化启示录(缓存篇)http://www.iamsevent.com/wap.asp?act=View&id=48

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值