2

我正在为 Flex 应用程序创建自定义预加载器,并注意到以下行为:加载时,进度条变为 100%,然后向下然后备份,依此类推,直到应用程序完成加载。

当我在 dowloadprogress 侦听器中添加跟踪时,我看到在加载应用程序时,bytesLoaded 和 bytesTotal 都增加了,但不一定同时增加。

代码:

private function onDownloadProgress(event:ProgressEvent):void {
        var loaded:int = event.bytesLoaded;
        var total:int = event.bytesTotal;
        trace(event.target,loaded,total);
        _starfield.progress = loaded/total;
    }

输出:

[object Preloader] 134276 134276
[object Preloader] 265348 285007
[object Preloader] 285007 285007
[object Preloader] 678223 1322116
[object Preloader] 809295 1322116
[object Preloader] 1322116 1322116
[object Preloader] 1322116 1322116
[object Preloader] 1387652 1584342
[object Preloader] 1791882 1791882
[object Preloader] 2293133 2293133
[object Preloader] 2362938 2362938
[object Preloader] 2362938 2362938
[object Preloader] 2362938 2362938

为什么 bytesTotal 在加载过程中会发生变化?

4

2 回答 2

4

随着运行时共享库​​开始下载,总数会增加。您可以通过阅读Preloader源代码了解更多信息。

sdk\frameworks\projects\framework\src\mx\preloaders\Preloader.as

以下是一些自定义预加载器示例的链接,这些示例处理 RSL 比默认值更好。

http://coding.bhirschmann.de/2008/03/20/preloader-for-flex-with-rsl-support/

http://www.leavethatthingalone.com/blog/index.cfm/2009/11/11/Flex4CustomPreloader

于 2010-05-04T02:04:53.497 回答
0

或者另一种方法是将预加载器分为 6 个阶段,预加载器加载每个组件并从 0% 运行到 100%,然后增加加载的数字或“部分”并在屏幕上显示

于 2010-09-09T21:31:34.013 回答