原来flash player对图片的解码不是异步的,AIR2.6后就异步了
用过 Loader 对象的人都知道,加载图片时,无论是使用 load() 方法还是 loadBytes() 方法,都是异步的。从开始加载到显示在舞台上这一过程,分别有两个动作:图片加载和图片解码。我一直都以为,从加载到解码完毕都是异步进行。但看了这篇文章后(http://www.bytearray.org/?p=2931),我才知道,只有加载的动作是异步的,加载完毕后的图片解码是同步的。即:加载动作是另开线程处理的,但加载完毕后的解码操作是交给主线程处理的。那就是说,加载大图片的话,会很糟糕。
Adobe AIR 2.6 版本里新增了API:LoaderContext.imageDecodingPolicy 属性。用于指定图片的解码操作是同步的还是异步的,即:是在主线程里解码,还是另开线程解码。
添加这个功能后,实在让人叫好。但,我觉得还不够完美。图片加载完毕后,flash player 就自动对图片进行解码。如果把这两个过程分开,让开发者决定什么时候进行解码,那才让人连声叫好。为什么要这样做呢?因为:图片解码后更占用内存!有时候,我们只想把图片预加载进来,但并不会马上把图片展示出来。举个例子:一张 4KB 的图片,以二进制的形式加载到flash里,仅占用内存为 4KB 。但在解码后,可能占用了 10KB 的内存(这个跟图片压缩率有关)。为做到仅使用时才对图片进行解码的效果(这样能有效利用内存资源),目前的做法是先使用 URLLoader 把图片以二进制的形式加载进来,直到需要展示图片时,才用 Loader.loadBytes() 加载。
转载 http://riaoo.com/?p=2132
// create a LoaderContext var loaderContext:LoaderContext = new LoaderContext(); // specify async decoding loaderContext.imageDecodingPolicy = ImageDecodingPolicy.ON_LOAD; // create a Loader var loader:Loader = new Loader(); // inform the Loader loader.load( new URLRequest("http://dl.dropbox.com/u/7009356/IMG_1398.jpg"), loaderContext );
原来flash player对图片的解码不是异步的,AIR2.6后就异步了相关推荐
- 如何下载最新版的 Adobe Flash Player
如何下载最新版的 Adobe Flash Player 中国访客用代理访问下面的链接,否则会自动跳转到 https://www.flash.cn/ 当我们从 https://get.adobe.com ...
- 借助 Adobe Scout 理解 Flash Player
原文链接 Adobe Scout 用于优化 Flash 内容,是一款极为强大的工具,因为它能让您看到 Flash Player 幕后正在发生的事情.但是若明白 Flash Player 为什么做这些事 ...
- Understanding Flash Player with Adobe Scout
Adobe Scout 是一款强大的Flash内存分析工具,可以观察到Flash Player后台正在运行的内容.从Adobe Scout上表现的内容,就可以知道Flash Player正在做什么.为 ...
- [翻译]Adobe Flash Player 11新特性
Adobe Flash Player 11带来了很多改进,您将在网络上看到更多精彩的内容.就像当年Flash Player 7改变了网络视频,ActionScript 3改变了开发Flash内容的方式 ...
- ubuntu 13.10 64位安装及配置 google拼音输入法及Adobe flash player、mp3 插件安装、中文GBK编码等 -转
以前一直在虚拟机下玩ubuntu,今天兴起,在硬盘上直接安装了ubuntu 13.10版本,安装时将电脑的一个盘清空,有68G,用于安装ubuntu,将下载来的系统镜像使用ultraiso制作启动盘, ...
- 【FLASH】报错“必要的系统组件未能正常运行,请修复Adobe Flash Player”及 error#2046
问题描述:内网应用加载flash页面报错:"必要的系统组件未能正常运行,请修复Adobe Flash Player" 解决思路: 一.必要的系统组件未能正常运行,请修复Adobe ...
- Chrome浏览器显示“Adobe flash player已过期”问题之解决
1 问题描述 最近办公室刚分给我一台新的台式电脑,于是我在其上的Win7系统上安装了我喜欢使用的chrome浏览器,版本为: 使用过程中发现一些网页的flash图片或者视频显示不出来,并且出现如下的提 ...
- Win10 新版Edge浏览器Flash Player不兼容,总是显示flash与地区不兼容(完美解决)
微软已经推出 Microsoft Edge based Chromium 浏览器正式版并开始向 Windows 10 用户主动推送替代经典版.然而已经安装的用户应该发现该正式版在部分功能和稳定性还不如 ...
- centos 7 opera 安装flash player
centos 7 opera 安装flash player 先来一张安装好了的图片: 1.到Adobe官网下载flash_player_ppapi_linux.x86_64.tar.gz点击打开链接 ...
最新文章
- 11月21日spring mvc的表单校验培训日记
- nginx配合modsecurity实现WAF功能
- [改善Java代码]减少HashMap中元素的数量
- Maven打包时报Failed to execute goal org.apache.maven.plugins:maven-war-plugin:解决方案
- lua __index __newindex upvalue 示例
- 山东大学 2020级数据库系统 实验三
- 微服务架构设计基础之领域驱动设计
- 没有足够的值_了解食物的GI值,让你的减脂效率翻倍
- ubantu下谷歌浏览器安装包
- 如何搭建谷歌离线地图服务
- ivms 4200 linux_iVMS-4200E 海康威视微服务器系列NVR 集成海康硬件和软件实现灵活的一站式解决方案_...
- MAML++:HOW TO TRAIN YOUR MAML论文精读
- STM32 GPIO模拟I2C的SHT20温湿度采样
- ps里面的css,PS图层样式详解(上)
- python程度员要学很多英语吗_为什么程序员应该学好英语?
- SSH/TSL 加密原理
- Fibonacci数列练习题
- 经济应用文写作【11】
- 三菱Plc怎么用c语言编程,如何用程序在三菱PLC上写出配方功能
- java定义两个动物抽象类 程序_java抽象类和接口详解