[分享]通过Adobe Scout深入理解Flash播放器.doc

[分享]通过Adobe Scout深入理解Flash播放器.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[分享]通过Adobe Scout深入理解Flash播放器.doc

[分享]通过Adobe Scout深入理解Flash播放器 dobe Scout 是优化Flash内容异常强大的工具,因为他可以让你看到在Flash播放器里场景背后真正发生了什么.但只有当你理解了Flash播放器为什么那么做的时候那些信息才是最有用的.也只有那时候你才能有效地解决Scout告诉你的问题. 这篇文章的目的是让你对Flash播放器如何工作有一个基础的理解,并且理解与此相关的在Scout里看到的信息.这也是Scout中用到的terminology的一个指南,因此你可以找到Flash播放器执行的不同的活动的意义.如果你用过Scout并且有我发现我的程序花了很多时间在做X上,但我不知道X是什么意思的疑问的话,这篇文章正适合你! 注意这不是一个使用Scout界面的指南.如果你不知道如何使用Scout,或者不同的面板干什么,那么你需要读一下开始指南. Flash播放器总揽 Flash播放器就像一个替你管理复杂事务的个人助理,充当你和现实世界中间的一个接口.但是Flash播放器自己不能做任何有用的事情-它需要你告诉它做什么!有两种方式告诉它: 时间轴,在Flash Professional里编辑.他们是基于帧的动画,通过一系列的tags展现.Tags是一种描述在每一帧中做什么事情的简单指令,比如在屏幕中移动物体.所有你在Flash Professional里做的可见动作,像添加一个物体到帧上或者创建一个变形动画,都会作为一个tag编译进SWF文件中. 用纯Action Script写.这些会被Flash播放器在确定的时间及时执行,例如当一个SWF被加载了,一个定时器触发了,或者点击了一次鼠标.你也可以在Flash Professional里关联脚本到不同的帧上. 当Flash播放器执行你的脚本,或者你的时间轴上的tags时,他们会告诉Flash播放器去执行很多不同的activities.基本上可以把他们定义为四种类型: 立即activities.这些是你告诉Flash播放器直接做的任务,并且直到指令完成才会继续执行下去;例如,创建一个新的位图或者初始化一个HTTP请求. 持续activities.当你初始化完这些任务后,Flash播放器会继续在后台执行他们直到完成或者你结束他们.例如播放一个声音或者下载一个文件. 延迟activities. 有些在脚本或者tag里执行的操作并不会立即去执行, 而是让Flash播放器稍后安排一个更大的操作.例如,改变一个显示对象的位置会标记它为脏了,意味着过一段时间后它就会被Flash播放器重新绘制. 隐式activities.这些是一些不需要你请求而由Flash播放器做的内建的操作,像垃圾回收,或者从操作系统接收鼠标键盘事件. 在你读这篇文章的时候认识到下面这一点是很重要的:Flash播放器不仅仅是执行ActionScript;它还做了很多其他的activities!把Flash播放器想象成你的个人助理,那么执行Action Script就像它在开会.即使是一个很短的会议,Flash播放器也会在开完之后离开去做所有你给的文书工作.渲染精美的动画需要时间,还有很多在你的脚本之外发生的事情. 播放器实例和会话 你也许想知道Flash播放器如何管理所有这些不同的activities的执行. 当你在浏览器中运行Flash内容时,Flash播放器通常会在一个独立的操作系统进程中运行. 在那个浏览器中的所有SWF共享一个进程, 包括所有相关的worker线程,并且Flash播放器会管理那些SWF的执行使他们看起来像是独立运行.每一个运行中的SWF是一个播放器实例,并对应着一个在Scout里的会话.Worker线程也是播放器实例.对于AIR内容,只有一个主播放器实例加上它用到的workers. 一个播放器实例的执行 当Flash播放器运行时,它会在不同的activities之间切换.有可能它执行一点脚本,然后播放一些视频,然后渲染一些图片,诸如此类.确切的组合依赖于发生了什么事件,哪些持续activities有了进展,以及SWF的脚本和时间轴请求了什么activities.当所有的这些在进行中,Flash播放器会保存一份它做的事情的记录,并且衡量它消耗的资源,包括CPU时间,CPU内存和GPU内存.这些衡量指标发送给Scout,因此你可以看到正在发生什么.为了保证测量这些因素的系统开销最小,Flash播放器只测量和报告那些非常费时间或者内存的activities. 在最基础的层面,Flash播放器在任意时间可以是两个模型中的一个: 活动-它在执行一些作业,可能是从执行脚本到渲染到捕捉鼠标事件中的任何事情. 不活动-它在茶歇(声明:不要给Flash播放器加水).它可能被一些外部的情况阻塞了,像

文档评论(0)

xx88606 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档