下载进度 = 已下载字节数 / 总字节数 * 100%

总字节数通常在文件传输之前的协议握手阶段就能知晓;

而已下载字节数则通过开发语言的底层API(文件传输API)可以获得(对于开发者,Flash或Flex变相地通过发布事件向外界透漏这个信息)。

从这个意义上讲,对文件下载的进度进行监控本身是很容易的。

谁在对下载文件的进度进行监控?

FlashPlayer通过URL下载程序A.swf,那么很容易想到:FlashPlayer对A.swf的下载进度进行监控。

我们看到的是沉稳的蓝灰色背景下一个长方形的进度条不停变化。

这个进度条是FlashPlayer提供的吗?

不是,是Flex程序(Flex框架程序)提供的。

奇怪,这么一来似乎是A.swf在对自己的下载进度进行监视,而不是FlashPlayer。

这不是矛盾了吗?

其实,本质上,还是FlashPlayer对A.swf的下载进度进行了监控。

只不过是FlashPlayer首先获知进度信息,然后通过事件机制把进度信息传入到到A.swf中,由A.swf把这些信息显示到自己的进度条中而已。该进度条是Flex框架提供的,被编译到A.swf中。

因此,我们可以自定义进度条来替换Flex框架提供的那个东东,来显示FlashPlayer传入的进度信息(已下载字节数、总字节数)。

该设计够聪明的!

Flash(Flex)对文件下载进度的监控原理分析相关推荐

  1. html进度条实现原理,js实现进度条

    假如我有这样的一个代码: for(var i=0;i<100;i++) { for(var j=0;j<1 JS做的进度条,如何做的? js其实是没法计算到网页的加载进度的. 目前见到的打 ...

  2. Android中下载进度条格式,Android开发如何实现文件下载进度条

    释放双眼,带上耳机,听听看~! 今天和小编狗在这里学习下载进度的实现吧,这段代码是网上找的,自己做了些小改,通过模拟器测试.文件下载进度条控制(就是为了高清壁纸加个进度条),自己研究了好久,但是进度条 ...

  3. WINDOWS键盘事件的挂钩监控原理及其应用技术

    WINDOWS键盘事件的挂钩监控原理及其应用技术     WINDOW的消息处理机制为了能在应用程序中监控系统的各种事件消息,提供了挂接 各种反调函数(HOOK)的功能.这种挂钩函数(HOOK)类似扩 ...

  4. Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动

    对于从Sprite类继承来的对象,要实现拖放当然是Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag) 里讲的方法最方便,但是对于不是从Sprite类继承得来的对象, ...

  5. [轉]Flash/Flex监听浏览器的关闭事件

    FROM : http://blog.ityao.com/archives/581 如果想用Flash/Flex监听浏览器的关闭事件, 可以通过JavaScript的window.onbeforeun ...

  6. 如何实现文件下载进度条呢?

    比如有时候我们在利用python下载文件的时候,通常情况下,文件下载过程我们是感知不到的,只有等文件下载完成,我们才能知道,该文件已经下载完成,假如此时下载文件很大,下载时间就会比较漫长,如果这时候有 ...

  7. vue文件下载进度条

    Step1:封装download方法 // 通用下载方法 export function download(url, params, filename) {let downProgress = {}l ...

  8. Camera2 APP Flash 打闪流程及原理分析

    Camera Flash打闪流程梳理 Flash打闪的条件有两个一个是AE_Mode 一个是Flash Mode两个参数决定Flash打闪的过程. Flash mode有四个状态 AUTO OFF O ...

  9. Docker 容器监控原理及 cAdvisor 的安装与使用

    生产环境中监控容器的运行状况十分重要,通过监控我们可以随时掌握容器的运行状态,做到线上隐患和问题早发现,早解决.所以今天我就和你分享关于容器监控的知识(原理及工具 cAdvisor). 虽然传统的物理 ...

最新文章

  1. 阿里云PolarDB数据库将云原生进行到底!业内首次实现三层池化
  2. 三维重建1-位姿追踪:单应矩阵、本质矩阵和基本矩阵
  3. 洛谷 - P2181 - 对角线 - 打表 - 组合数学
  4. C#调用C和C++函数的一点区别
  5. Codeforces 解题报告索引
  6. 深入理解 Linux 内存机制!| 技术头条
  7. 阿里云 linux 找回mysql root密码
  8. Hadoop 1.x:体系结构,主要组件以及HDFS和MapReduce的工作方式
  9. 【地球科学】使用USGS下载指定地区的遥感影像
  10. 51单片机——LED流水灯
  11. C语言 —— do while循环语句用法与例题
  12. mmgrid cols表头列隐藏
  13. 软件测试思想者 - 初识抑郁症
  14. win7计算机不能设置双屏怎么回事,教你在win7电脑中详细设置双屏显示的步骤
  15. 笔记本怎样外接显示器 笔记本外接显示器方法【详解】
  16. bootstrap 轮播插件
  17. 中国程序员VS美国程序员,太形象了...
  18. 如何高质量的度过大学四年?
  19. 软件开发团队建设思路谈
  20. 【微信小程序】你画我猜Merged

热门文章

  1. 105,106数学思维
  2. Linux性能观测——dstat命令详解
  3. 在线预览word文档
  4. 如何评价《非暴力沟通》这本书?
  5. 小众Tox——大众的“去中心化”聊天软件
  6. 密码学-编码算法:Base64编码原理和使用
  7. CSS--- display属性的属性值
  8. java学习笔记(9) 第9章 Java项目-房屋出租系统
  9. winhttp 访问https_WinHttp支持HTTPS下载
  10. oracle补充日志