Flash(Flex)对文件下载进度的监控原理分析
下载进度 = 已下载字节数 / 总字节数 * 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)对文件下载进度的监控原理分析相关推荐
- html进度条实现原理,js实现进度条
假如我有这样的一个代码: for(var i=0;i<100;i++) { for(var j=0;j<1 JS做的进度条,如何做的? js其实是没法计算到网页的加载进度的. 目前见到的打 ...
- Android中下载进度条格式,Android开发如何实现文件下载进度条
释放双眼,带上耳机,听听看~! 今天和小编狗在这里学习下载进度的实现吧,这段代码是网上找的,自己做了些小改,通过模拟器测试.文件下载进度条控制(就是为了高清壁纸加个进度条),自己研究了好久,但是进度条 ...
- WINDOWS键盘事件的挂钩监控原理及其应用技术
WINDOWS键盘事件的挂钩监控原理及其应用技术 WINDOW的消息处理机制为了能在应用程序中监控系统的各种事件消息,提供了挂接 各种反调函数(HOOK)的功能.这种挂钩函数(HOOK)类似扩 ...
- Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动
对于从Sprite类继承来的对象,要实现拖放当然是Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag) 里讲的方法最方便,但是对于不是从Sprite类继承得来的对象, ...
- [轉]Flash/Flex监听浏览器的关闭事件
FROM : http://blog.ityao.com/archives/581 如果想用Flash/Flex监听浏览器的关闭事件, 可以通过JavaScript的window.onbeforeun ...
- 如何实现文件下载进度条呢?
比如有时候我们在利用python下载文件的时候,通常情况下,文件下载过程我们是感知不到的,只有等文件下载完成,我们才能知道,该文件已经下载完成,假如此时下载文件很大,下载时间就会比较漫长,如果这时候有 ...
- vue文件下载进度条
Step1:封装download方法 // 通用下载方法 export function download(url, params, filename) {let downProgress = {}l ...
- Camera2 APP Flash 打闪流程及原理分析
Camera Flash打闪流程梳理 Flash打闪的条件有两个一个是AE_Mode 一个是Flash Mode两个参数决定Flash打闪的过程. Flash mode有四个状态 AUTO OFF O ...
- Docker 容器监控原理及 cAdvisor 的安装与使用
生产环境中监控容器的运行状况十分重要,通过监控我们可以随时掌握容器的运行状态,做到线上隐患和问题早发现,早解决.所以今天我就和你分享关于容器监控的知识(原理及工具 cAdvisor). 虽然传统的物理 ...
最新文章
- 阿里云PolarDB数据库将云原生进行到底!业内首次实现三层池化
- 三维重建1-位姿追踪:单应矩阵、本质矩阵和基本矩阵
- 洛谷 - P2181 - 对角线 - 打表 - 组合数学
- C#调用C和C++函数的一点区别
- Codeforces 解题报告索引
- 深入理解 Linux 内存机制!| 技术头条
- 阿里云 linux 找回mysql root密码
- Hadoop 1.x:体系结构,主要组件以及HDFS和MapReduce的工作方式
- 【地球科学】使用USGS下载指定地区的遥感影像
- 51单片机——LED流水灯
- C语言 —— do while循环语句用法与例题
- mmgrid cols表头列隐藏
- 软件测试思想者 - 初识抑郁症
- win7计算机不能设置双屏怎么回事,教你在win7电脑中详细设置双屏显示的步骤
- 笔记本怎样外接显示器 笔记本外接显示器方法【详解】
- bootstrap 轮播插件
- 中国程序员VS美国程序员,太形象了...
- 如何高质量的度过大学四年?
- 软件开发团队建设思路谈
- 【微信小程序】你画我猜Merged