## 来自官方的优化建议

详见: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性能优化总结的更多相关文章

  1. Egret的一些性能优化

    Egret的性能优化不知道在哪里啊,主要参考Laya的性能优化,都差不多 一.性能统计面板 index.html页面设置data-show-fps=true打开性能面板 性能统计面板说明 Egret没 ...

  2. 移动H5前端性能优化指南

    移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...

  3. 移动H5前端性能优化指南[转]

    移动H5前端性能优化指南 米随随2015.01.23 移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首 ...

  4. 移动 H5(PC Web)前端性能优化指南

    原文地址https://zhuanlan.zhihu.com/p/25176904?utm_source=wechat_session&utm_medium=social&utm_me ...

  5. [转]移动H5前端性能优化指南

    移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...

  6. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  7. 03.SQLServer性能优化之---存储优化系列

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概  述:http://www.cnblogs.com/dunitian/p/60413 ...

  8. Web性能优化:What? Why? How?

    为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...

  9. Web性能优化:图片优化

    程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...

随机推荐

  1. 2、基于wsgiref模块DIY一个web框架

    一 web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站.网络应用和网络服务的开发.这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方 ...

  2. configuration on ubuntu server

    1.network configuration 1.1 static ip sudo vi /etc/network/interfaces auto eth0 iface eth0 inet stat ...

  3. 解密虚拟 DOM——snabbdom 核心源码解读

    本文源码地址:https://github.com/zhongdeming428/snabbdom 对很多人而言,虚拟 DOM 都是一个很高大上而且远不可及的专有名词,以前我也这么认为,后来在学习 V ...

  4. BZOJ1513:[POI2006]TET-Tetris 3D(线段树套线段树)

    Description Task: Tetris 3D "Tetris" 游戏的作者决定做一个新的游戏, 一个三维的版本, 在里面很多立方体落在平面板,一个立方体开始落下直到碰上一 ...

  5. 【CF163E 】e-Government

    题目 两个\(log\)的树状数组套树剖? 我们对于给出的\(n\)个模式串建立\(AC\)自动机,之后对于每一个询问串直接丢上去匹配 如果这里是暴力的话,我们直接一路跳\(fail\)累加作为结束位 ...

  6. Java动态代理学习

    动态代理类 Java动态代理类位于java.lang.reflect包下,一般主要涉及到以下两个类: 1.Interface InvocationHandler 该接口中仅定义了一个方法: Objec ...

  7. 常用命令 tcl & shell

    TCL 常用命令: 1. 当前时间  [exec  date  +%m%d_%H%M]   (实际是调用shell命令 date),比如在 icc 中保存cell 时可以用:save_mw_cel   ...

  8. SQLSERVER 数据类型int、bigint、smallint 和 tinyint范围

    [bigint] 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. [int ...

  9. Linux基础-6.系统的启动过程

    Linux启动时我们会看到许多启动信息 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导 运行init 系统初始化 建立终端 用户登录系统 init程序的类型: ...

  10. 更新Android Studio 3.1.1碰到的问题

    碰到了如下问题 The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin. Perhaps you m ...