收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 1814|回复: 10

[AS1&2] For 2000多个图片显示的时候 卡 假死

[复制链接]
发表于 2010-7-7 17:30:13 | 显示全部楼层 |阅读模式
FLASH里。用FOR 读取XML读取数据。2000多个图片(小图)。循环显示的时候。FLASH有假死也就是什么也不动的现实。

如何解决FOR循环显示多图的时候FLash无响应的问题。谢谢各位。
发表于 2010-7-7 17:57:08 | 显示全部楼层
搜索 我N年前发的,开火车加载图片
回复 支持 反对

使用道具 举报

发表于 2010-7-7 19:02:37 | 显示全部楼层
可以用onEnterFrame,如果是动态加载的图片,可以用MovieClipLoader类。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-8 08:58:38 | 显示全部楼层
好的。我搜索一下。谢谢了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-8 09:02:14 | 显示全部楼层
也就是说?加载完之后再加载下一张图片//这样会不会有点慢呀?你测试过还算可以是吧。
回复 支持 反对

使用道具 举报

发表于 2010-7-8 09:48:14 | 显示全部楼层
如果是网络的一张一张的加载更合适,如果是本地的,你也可以一次性同时加载10张或20张。不一定要一张一张的加载。
回复 支持 反对

使用道具 举报

发表于 2010-7-8 09:59:04 | 显示全部楼层
如果需要临时加载网络就肯定量少一点了,就不会卡,本地的就可以一次多一点了。
回复 支持 反对

使用道具 举报

发表于 2010-7-8 10:27:03 | 显示全部楼层
终极的开火车,是不是这个意思:(我以前做了个,也是这样设计的)
“前一张图片加载完成或者失败时,触发下一张图片的加载事件”
回复 支持 反对

使用道具 举报

发表于 2010-7-8 11:05:21 | 显示全部楼层
楼上所言即是

  我们可以采用一次加载一个,也可以一次加载一组(2-10个)
回复 支持 反对

使用道具 举报

发表于 2010-7-9 14:42:07 | 显示全部楼层
佛拉丝不是神仙, 淡定,淡定
回复 支持 反对

使用道具 举报

发表于 2010-7-9 15:43:30 | 显示全部楼层

一个简陋的加载管理器


  1. package com.trueme.util {
  2.         import flash.events.Event;
  3.         import flash.events.EventDispatcher;
  4.         import flash.events.IOErrorEvent;
  5.         import flash.events.ProgressEvent;

  6.         /**
  7.          * loader管理器,可以连续按顺序加载多个swf,并且在加载的过程中,可以插入别的swf加载进程,新插入的swf会被优先加载。
  8.          * @author hanson
  9.          * @version V2.0 [2008.10.7]
  10.          */
  11.         public class LoadersManagerUtil extends EventDispatcher {
  12.                 /**
  13.                  * loaderInfoArray是个二维数组,里面记录着loader信息队列
  14.                  * 每个队列信息都是一个数组,记录着一个loader和与它对应的URL地址
  15.                  * 例如:[anyLoader,"http://www.huoshan.org/pic.jpg"]
  16.                  */
  17.                 public var loaderInfoArray : Array = [];

  18.                 public function LoadersManagerUtil() : void {
  19.                 }

  20.                 /**
  21.                  * 开始连续加载
  22.                  */
  23.                 public function startOrderLoad() : void {
  24.                         //trace("★开始加载时的数组长度:" + loaderInfoArray.length);
  25.                         if(loaderInfoArray.length > 0) {
  26.                                 loaderInfoArray[0][0].addEventListener(Event.CANCEL, loadCancel);
  27.                                 loaderInfoArray[0][0].contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
  28.                                 loaderInfoArray[0][0].contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
  29.                                 loaderInfoArray[0][0].contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
  30.                                 loaderInfoArray[0][0].goLoad(loaderInfoArray[0][1]);
  31.                         } else {
  32.                                 //全部加载完成广播事件
  33.                                 dispatchEvent(new Event(Event.COMPLETE));
  34.                         }
  35.                 }

  36.                 /**
  37.                  * 插入最优先的loader信息
  38.                  * @param $loaderInfoArray 插入的loader数组信息,格式和loaderInfoArray一样
  39.                  */
  40.                 public function addLoaderInfo($loaderInfoArray : Array) : void {
  41.                         //停止加载
  42.                         stopLoad();
  43.                         //加入新loader信息并开始重新loading
  44.                         loaderInfoArray = $loaderInfoArray.concat(loaderInfoArray);
  45.                         startOrderLoad();
  46.                 }

  47.                 /**
  48.                  * 停止连续加载[注意,如果想真正停止加载,必须把所有的loader都设置为null,而这个操作应当由调用LoaderManager的父级进行。]
  49.                  */
  50.                 public function stopOrderLoad() : void {
  51.                         //停止加载
  52.                         stopLoad();
  53.                 }

  54.                 //停止某个loader的加载
  55.                 private function stopLoad() : void {
  56.                         //trace("★停止加载时的数组长度:" + loaderInfoArray.length);       
  57.                         //停止当前的loading
  58.                         if(loaderInfoArray.length > 0) {
  59.                                 loaderInfoArray[0][0].close();
  60.                                 loaderInfoArray[0][0].removeEventListener(Event.CANCEL, loadCancel);
  61.                                 loaderInfoArray[0][0].contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, loadError);
  62.                                 loaderInfoArray[0][0].contentLoaderInfo.removeEventListener(Event.COMPLETE, loaderComplete);
  63.                                 loaderInfoArray[0][0].contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadProgress);
  64.                         }
  65.                 }

  66.                 private function loadError(event : IOErrorEvent) : void {
  67.                         loaderInfoArray.shift();
  68.                         startOrderLoad();
  69.                 }

  70.                 private function loadCancel(event : Event) : void {
  71.                         loaderInfoArray.shift();
  72.                         startOrderLoad();
  73.                 }

  74.                 private function loaderComplete(event : Event) : void {
  75.                         loaderInfoArray.shift();
  76.                         startOrderLoad();
  77.                 }

  78.                 private function loadProgress(event : ProgressEvent) : void {
  79.                         //var loadingPercent : uint = Math.floor(event.bytesLoaded / event.bytesTotal * 100);
  80.                         //设置文字提示
  81.                         //trace(loaderInfoArray[0][1] + "[" + loadingPercent + "%]");
  82.                 }
  83.         }
  84. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-8-10 20:09 , Processed in 0.130530 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表