egret性能优化总结
## 来自官方的优化建议
详见:http://edn.egret.com/cn/article/index/id/287
(1) 少使用Alpha混合。
(2) 显式停止计时器,让它们准备好进行垃圾回收。
(3)使用事件侦听器并在不需要时删除这些侦听器。
(4) 在不需要触摸交互性时显式禁用触摸交互性。
(5) 合理使用dispatchEvents 函数。
(6) 尽可能重用对象,建立对象池,而不创建对象并对其执行垃圾回收。
(7)多次调用类属性时,避免直接使用this.att,建立局部变量赋值。
(8)Event.ENTER_FRAME数量控制。
(9)减少不必要的引用。
(10)减少显示对象的旋转缩放。
(11)使用SpriteSheet合并的图片尺寸要优于单张图片的总尺寸,尤其是带透明通道的。
(12)在Http请求中,加载单个文件速度要优于加载多个文件
##个人总结
1) 滑动列表尽量使用数据绑定的方式(详见 eui.Scroller + eui.List 的使用),这样的做法减少Draw ,最多为选项个数+1
2)显示移除不需要的面板,不用的尽量removeChild 而不是设置visiable
3) 显式停止计时器,不要每次都进行 egret.getTimer(),应做为全局数据
4)显式 删除对象的所有引用确保被垃圾回收器回收。
5) 尽量不要在使用方法内创建函数,一个函数内不要嵌套另一个函数的定义。
6) 尽量使用let 代替 var 避免闭包导致的BUG
7) 将this赋值给另一个临时变量self,let self = this
8) 不要在声明的时候初始化对象,需要赋值基本类型。可选择使用前初始化。
9) 初始化数组 =[] 比new 效率高 , = {} 比new 效率高
10) exml文件注意通过可视化编辑会产生小数,去掉小数
11)尽可能复用对象,或建立对象池,创建对象时,将对象创建在循环外部并在循环内反复重用。这是许多面向对象编程常用的方法。
12)禁用不必要显示对象的触摸交互,默认touchEnabled =true ,需要手动设置为false,在禁用时注意touchChildren = false 才能彻底禁止touch
13) 静态的UI 使用建议使用cacheAsBitmap减少重绘次数,动态的不要使用该方法
14) 少用mask,特别是Rectangle 每回都要去计算消耗性能较大
15)尽量将配置文件合并到一个大文件里,减少下载次数。在Http请求中,加载单个文件速度要优于加载多个文件。配置文件去掉格式化,利用在线Json格式化工具(如bejson,sojson)处理Json数据。Json数据可以去掉一些不必要的小数和冗长命名
16)TextField减少对于描边(stroke)的使用,用图片代替,因为描边是需要先通过计算边界渲染
17)配置文件尽量使用key :value的方式,直接通过key取值减少查询
18)数据查询多的,使用key:value结构
19) ScrollerBar 的数据,如果单个更改,尽量通过updataItem() 去更改,避免重新绑定数据
转自 http://blog.csdn.net/wuhaishengxxx/article/details/70495693
egret性能优化总结的更多相关文章
- Egret的一些性能优化
Egret的性能优化不知道在哪里啊,主要参考Laya的性能优化,都差不多 一.性能统计面板 index.html页面设置data-show-fps=true打开性能面板 性能统计面板说明 Egret没 ...
- 移动H5前端性能优化指南
移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...
- 移动H5前端性能优化指南[转]
移动H5前端性能优化指南 米随随2015.01.23 移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首 ...
- 移动 H5(PC Web)前端性能优化指南
原文地址https://zhuanlan.zhihu.com/p/25176904?utm_source=wechat_session&utm_medium=social&utm_me ...
- [转]移动H5前端性能优化指南
移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...
- 01.SQLServer性能优化之----强大的文件组----分盘存储
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...
- 03.SQLServer性能优化之---存储优化系列
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概 述:http://www.cnblogs.com/dunitian/p/60413 ...
- Web性能优化:What? Why? How?
为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...
- Web性能优化:图片优化
程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...
随机推荐
- 学习Android之SimpleAdapter显示网络图片
效果图: 此程序基本的知识点是:SimpleAdapter本身是不支持网络图片的, 假设在Map.put(a,b)中 b为一个Bitmap,程序不会报红色字体,而是在控制台输出绿色的字体,例如以下 0 ...
- MySQL 导出远程服务器数据库 为 sql文件
MySQL 导出远程服务器sql文件 mysqldump -h192.168.1.111 –P3306 -uroot -ppassword --default-character-set=utf8 t ...
- 1050. [HAOI2006]旅行【并查集+枚举】
Description 给你一个无向图,N(N<=500)个顶点, M(M<=5000)条边,每条边有一个权值Vi(Vi<30000).给你两个顶点S和T,求 一条路径,使得路径上最 ...
- 多线程之Timer和TimerTask
Timer是一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask.TimerTask是一个抽象类,实现了Runnabl ...
- springboot不使用内置tomcat启动,用jetty或undertow
Spring Boot启动程序通常使用Tomcat作为默认的嵌入式服务器.如果需要更改 - 您可以排除Tomcat依赖项并改为包含Jetty或Undertow: jetty配置: <depend ...
- P2049 魔术棋子
题目描述 在一个M*N的魔术棋盘中,每个格子中均有一个整数,当棋子走进这个格子中,则此棋子上的数会被乘以此格子中的数.一个棋子从左上角走到右下角,只能向右或向下行动,请问此棋子走到右下角后,模(mod ...
- 1555: Inversion Sequence (通过逆序数复原序列 vector的骚操作!!!)
1555: Inversion Sequence Submit Page Summary Time Limit: 2 Sec Memory Limit: 256 Mb Su ...
- VSC 插件开发从入门到Hello World
1.原理放一边,我们先来个Hello,World 1.1 安装基础环境 需要的基础环境列表: Node.js npm vs code yo generator-code yo:全称Yeoman,可以把 ...
- Linux 内存使用方法详细解析
我是一名程序员,那么我在这里以一个程序员的角度来讲解Linux内存的使用. 一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存.这两个概念主要来自于linux内核的支持. Linux在 ...
- 设计一个分布式RPC框架
0 前言 提前先祝大家春节快乐!好了,先简单聊聊. 我从事的是大数据开发相关的工作,主要负责的是大数据计算这块的内容.最近Hive集群跑任务总是会出现Thrift连接HS2相关问题,研究了解了下内部原 ...