exml自动加载图片
常规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自动加载图片的更多相关文章
- 实例演示Android异步加载图片
本文给大家演示异步加载图片的分析过程.让大家了解异步加载图片的好处,以及如何更新UI.首先给出main.xml布局文件:简单来说就是 LinearLayout 布局,其下放了2个TextView和5个 ...
- 实例演示Android异步加载图片(转)
本文给大家演示异步加载图片的分析过程.让大家了解异步加载图片的好处,以及如何更新UI.首先给出main.xml布局文件:简单来说就是 LinearLayout 布局,其下放了2个TextView和5个 ...
- ionic懒加载图片
https://github.com/paveisistemas/ionic-image-lazy-load <script src="lib/ionic/js/ionic-image ...
- ListView异步加载图片,完美实现图文混排
昨天参加一个面试,面试官让当场写一个类似于新闻列表的页面,文本数据和图片都从网络上获取,想起我还没写过ListView异步加载图片并实现图文混排效果的文章,so,今天就来写一下,介绍一下经验. Lis ...
- Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
Android 高手进阶(21) 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处http://blog.csdn.net/xiaanming/article/details ...
- 图片--Android加载图片导致内存溢出(Out of Memory异常)
Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...
- 多线程异步加载图片async_pictures
异步加载图片 目标:在表格中异步加载网络图片 目的: 模拟 SDWebImage 基本功能实现 理解 SDWebImage 的底层实现机制 SDWebImage 是非常著名的网络图片处理框架,目前国内 ...
- ListView与GridView异步加载图片
原理很简单,主要是用到了回调方法,下面是异步加载图片的类 <span style="font-size:16px;">package com.xxx.xxx; impo ...
- 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; ...
随机推荐
- Android(或者Java)通过HttpUrlConnection向SpringMVC请求数据(数据绑定)
问题描写叙述 当我们使用SpringMVC作为服务端的框架时,有时不仅仅要应对web前端(jsp.javascript.Jquery等)的訪问请求,有时还可能须要响应Android和JavaSE(桌面 ...
- js 事件详解 冒泡
起因:正常情况下我点击s2时是先弹出我是children,再弹出我是father,但是却出现了先弹出我是father,后弹出我是children的情况,这种情况是在和安卓app交互的h5页面中出现的, ...
- .NET条形码
建议不要用CODE-39码,改用CODE-128码: CODE-39码密度比较低,条码数字内容太多,导致条码太长,缩短长度就只能减小X尺寸,造成识读困难: CODE-128码密度高,相同的数字生成条码 ...
- json字符串使用注意问题
json本身是字符串,即 json字符串 js使用 要把 json字符串 转为 javascript对象 json字符串转为js对象的方法:jquery的parseJSON var str='[{& ...
- 错误 Unable to find vcvarsall.bat 的终极无敌最完美的解决办法
Windows 上通过 pip 安装 python 包,经常会出现这种错误. 如:pip install pyodbc. 这种错误的简单明了解释就是:python 编译器找不到计算机上面的 VC 编译 ...
- java的this static public protected private abstract interface 在python的对应,java python一些区别
1.因为工作的原因,最近使用了三个多月的java作为主力语言.很早之前在菜鸟教程也看过java文档两遍,但实践少,处于能看懂写出来不流畅的状态(对于java必须要略懂,不能能看到就头疼跳过,因为现在百 ...
- ssh面试题总结
SSH面试题总结: 题目1:Hibernate工作原理及为什么要用? 原理: hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方 ...
- flexbox父盒子justify-content属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- PPT高手必须树立的十个理念
08 2014年08月 [263职场技巧]PPT高手必须树立的十个理念 理念一:文字是用来瞟的,不是读的 我们时不时听到这样的言论:“PPT很简单,就是把Word里的文字复制.粘贴呗.”这其实是对PP ...
- ASP.NET MVC入门到精通——数据库仓储
业务层调用数据层对象,我不想每次都new一个数据层对象,而是在数据层创建一个仓储,统一管理所有的对象调用. 1.在IDAL项目中,新建IDBSession.tt模板 Ctrl+S后自动生成IDBS ...