常规H5和微信小游戏同样有效

一、exml自动加载图片

有两张图片

图片未放入defatult.res.json的资源组里,未预先加载包含2张图片的资源组,仅仅在default.res.json里有图片的链接

在exml上使用这2张图片

运行Egret,图片会自动加载

这样比较像一个普通html页面,上面有标签<img>,打开网页后,图片逐个加载出来。

这样的话,在实现exml页面的资源管理时,可以不使用RES.loadGroup加载该页面的资源组,而是让exml自动去异步加载。

优点:无需预加载图片和管理资源组

缺点:在图片未加载下来之前,界面上会是空白的。

二、问题

1. RES.loadGroup加载资源可以使用RES.destory()释放,那么exml自动加载的如何释放?

尝试不停的加载和移除包含图片资源的homeScene

        let homeScene:HomeScene;
this.stage.addEventListener(egret.TouchEvent.TOUCH_TAP, ()=>{
if(homeScene == null){
homeScene = new HomeScene();
this.addChild(homeScene);
}else{
this.removeChild(homeScene);
homeScene = null;
}
},this);

内存占用有自动释放。打开homescene时5.4MB,关闭时5.2MB

 2. 使用TextureMerger合并的图片会自动加载吗?

将图片使用tm合并

在homeScene.exml中使用,在json和png未使用RES.load的情况下,exml仍然会自动加载。

因为加载是根据default.res.json中的配置name和url等。

 3. 如果放在exml上的图片会自动加载,那么不放在exml上的动态异步加载的图片,该如何加载?

//因为"2"图片是未加载成功缓存的资源,所以使用getRes获取为null
console.log(RES.getRes("2")); //null //使用getResAsync异步加载"2"图片
let img:eui.Image = new eui.Image();
RES.getResAsync("2").then((res)=>{
  img.source = res;
  this.addChild(img);
});

getResAsync异步加载的图片,可以显示

不过这个异步加载,如果在加载中途等待时进行了其他操作,可能会出现一些问题 = =!

三、总结

1. 通用资源,比如弹框背景等,可以预加载通用资源组common,防止界面打开时时空白的。而弹框里的图片,可以异步加载。

这样无需管理多个资源组,也无需等待界面所有资源加载完成才打开界面。

2. 每个弹框资源单独配置一个资源组,在打开该弹框时,先加载资源组,显示loading动画,加载玩成后再打开弹框。

exml自动加载图片的更多相关文章

  1. 实例演示Android异步加载图片

    本文给大家演示异步加载图片的分析过程.让大家了解异步加载图片的好处,以及如何更新UI.首先给出main.xml布局文件:简单来说就是 LinearLayout 布局,其下放了2个TextView和5个 ...

  2. 实例演示Android异步加载图片(转)

    本文给大家演示异步加载图片的分析过程.让大家了解异步加载图片的好处,以及如何更新UI.首先给出main.xml布局文件:简单来说就是 LinearLayout 布局,其下放了2个TextView和5个 ...

  3. ionic懒加载图片

    https://github.com/paveisistemas/ionic-image-lazy-load <script src="lib/ionic/js/ionic-image ...

  4. ListView异步加载图片,完美实现图文混排

    昨天参加一个面试,面试官让当场写一个类似于新闻列表的页面,文本数据和图片都从网络上获取,想起我还没写过ListView异步加载图片并实现图文混排效果的文章,so,今天就来写一下,介绍一下经验. Lis ...

  5. Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅

      Android 高手进阶(21)  版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处http://blog.csdn.net/xiaanming/article/details ...

  6. 图片--Android加载图片导致内存溢出(Out of Memory异常)

    Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory  Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...

  7. 多线程异步加载图片async_pictures

    异步加载图片 目标:在表格中异步加载网络图片 目的: 模拟 SDWebImage 基本功能实现 理解 SDWebImage 的底层实现机制 SDWebImage 是非常著名的网络图片处理框架,目前国内 ...

  8. ListView与GridView异步加载图片

    原理很简单,主要是用到了回调方法,下面是异步加载图片的类 <span style="font-size:16px;">package com.xxx.xxx; impo ...

  9. JAVA 对象数组,加载图片实例 分类: Java Game 2014-08-14 16:57 80人阅读 评论(0) 收藏

    主函数: package com.mywork; import java.awt.Color; import java.awt.Image; import javax.swing.ImageIcon; ...

随机推荐

  1. Windows 2008禁止IE增强安全配置修改安全设置方法

    windows 2008更改IE安全设置 在默认状态下,使用Windows Server 2008系统自带的IE浏览器访问网页内容时,我们时常发现页面内容显示不全.后来,我们进入IE浏览器的Inter ...

  2. php public,static,private,protected,final,const,abstract

    public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型,只有在本类中使用. final:PHP 5:不被改,不被继 ...

  3. 11gR2 RAC:更换OCR、votedisk

    要点: ocrconfig 备份-恢复 ocrconfig 导出-导入 crsctl querry css votedisk crsctl replace votedisk {+dsikgroup|s ...

  4. [OpenCV] IplImage and Operation

    IplImage 一.资源 In this chapter, APIs will make U crazy. Good luck! Next, Review Linear Algebra. Ref:  ...

  5. [RN] 01 - Init: Try a little bit of React Native

    Ref: React Native跨平台移动应用开发 后记:这本书博客味有点浓. 本篇涉及新建工程的若干套路,以及一点语法知识. 创建新工程 (1) 解决的一大核心问题: (2) 使用Javascri ...

  6. AES五种加密模式

    分组密码在加密时明文分组的长度是固定的,而实用中待加密消息的数据量是不定的,数据格式可能是多种多样的.为了能在各种应用场合安全地使用分组密码,通常对不同的使用目的运用不同的工作模式. 一.电码本模式( ...

  7. Dubbo -- 系统学习 笔记 -- 示例 -- 静态服务

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 静态服务 有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管 ...

  8. ZooKeeper 未授权访问漏洞

    ZooKeeper 安装: Zookeeper的默认开放端口是2181 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zooke ...

  9. PHP代码审计笔记--任意文件下载漏洞

    在文件下载操作中,文件名及路径由客户端传入的参数控制,并且未进行有效的过滤,导致用户可恶意下载任意文件.  0x01 客户端下载 常见于系统中存在文件(附件/文档等资源)下载的地方. 漏洞示例代码: ...

  10. HTML 格式化

    格式化标签: <!DOCTYPE HTML> <html> <body> <b> This text is bold </b> # < ...