egret 变量_egret性能优化总结

## 来自官方的优化建议

(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://www.mzph.cn/news/508166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go tcp连接_TCP漫谈之keepalive和time_wait

TCP是一个有状态通讯协议,所谓的有状态是指通信过程中通信的双方各自维护连接的状态。一、TCP keepalive先简单回顾一下TCP连接建立和断开的整个过程。(这里主要考虑主流程,关于丢包、拥塞、窗口、失败重试等情况后面详细讨论。)首先是客户端发送syn(Syn…

纠错码较副本优势与minio纠错码配置

1. 优势 纠错码是什么,怎么保障数据不丢失 纠错码采用数据块校验块方式进行存储,副本采用真实副本存储纠错码更利于存储,副本更利于计算 2. 业界配置 EMC对象存储系统ECS 12 4 和 102 冗余度分别为 1.33 、 1.2 阿里云盘古集群chunk存储 83 冗余度1.375 Google RS(6,3) i…

mysql update 联合更新_Mysql update多表联合更新的方法小结

下面我建两个表,并执行一系列sql语句,仔细观察sql执行后表中数据的变化,很容易就能理解多表联合更新的用法student表 class表1. 执行 UPDATE student s , class c SET s.class_nametest00,c.stu_nametest00 WHERE s.class_id c.idstudent表 …

java mysql读取多条数据_myeclipse 使用Java访问mysql数据库,数据库中有多条记录,为何只能读出一条数据??...

Java源代码如下:publicListgetAllMsgList(){ListmsgListnewArrayList();DBConnectiondbnewDBConnection();Connectionconndb.getConn();Stringsql"select*frommsg...Java 源代码如下:public List getAllMsgList() { List msgList new ArrayList();…

基于corundumstudio建立websocket长连接

依赖 <!--socket io --><dependency><groupId>io.socket</groupId><artifactId>socket.io-client</artifactId><version>1.0.1</version></dependency><dependency><groupId>com.corundumstudio.socketio&…

mysql查询开启事务_MySQL中的查询事务问题

之前帮同学做个app的后台&#xff0c;使用了MySQLMyBatis&#xff0c;遇到了一个查询提交的问题&#xff0c;卡了很久&#xff0c;现在有时间了来复盘下环境情况假设有学生表&#xff1a;USE test;CREATE TABLE student (Id int NOT NULL PRIMARY KEY AUTO_INCREMENT,Name varc…

通过gparted 调整 ubuntu 磁盘

1. 启动和安装 1. 安装 sudo apt-get install gparted 2. 启动 sudo gparted2.配置 如果想扩充磁盘,需要有未分配空间,且该未分配空间位于partition相邻的格子

mysql增加布尔字段_JDBC对MySQL数据库布尔字段的操作方法

本文实例讲述了JDBC对MySQL数据库布尔字段的操作方法。分享给大家供大家参考。具体分析如下&#xff1a;在Mysql数据库如果要使用布尔字段&#xff0c;而应该设置为BIT(1)类型此类型在Mysql中不能通过MySQLQueryBrowser下方的Edit与Apply Changed去编辑只能通过语句修改&#x…

linux查看mysql表空间使用率_Oracle查看数据库表空间使用情况sql语句

Oracle查看数据库表空间使用情况sql语句SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_…

mysql 不同服务器不同库之间的访问_不同服务器数据库之间的数据操作

--创建链接服务器exec sp_addlinkedserver ITSV , , SQLOLEDB , 远程服务器名或ip地址 exec sp_addlinkedsrvlogin ITSV , false ,null, 用户名 , 密码 --查询示例select * from ITSV.数据库名.dbo.表名--导入示例select * into 表 from ITSV.数据库名.dbo.表名--以后不再使用…

mysql 禁止转义_必须转义哪些字符才能阻止(我的)SQL注入?

6 个答案:答案 0 :(得分&#xff1a;46)关于退格字符的猜测&#xff1a;想象一下&#xff0c;我发送了一封电子邮件“嗨&#xff0c;这是根据需要更新数据库的查询”和带有的附加文本文件INSERT INTO students VALUES ("Bobby Tables",12,"abc",3.6);你捕获…

mysql 失效转移_MySQL基于MHA的FailOver过程

大家好&#xff0c;我是anyux。本文介绍MySQL基于MHA的FailOver过程。MHA FailOver过程详解什么是FailOver故障转移主库宕机&#xff0c;一直到业务恢复正常的处理过程如何处理FailOver1.快速监控到主库宕机2.选择新主节点&#xff0c;选择策略mysqladmin ping检查数据库状态&a…

mysql 设置 character_set_server_MySQL:简单记录character_set_server影响参数

Waiting for global read lock&#xff1a;由于flush table with read lock调用函数lock_global_read_lock导致DML操作堵塞。Waiting for commit lock &#xff1a;由于flush table with read lock 调用函数make_global_read_lock_block_commit导致事务不能提交现象堵塞COMMIT和…

mysql3.5.2 下载_mybatis 3.5.2 jar 下载

本文更新日期&#xff1a;2019年9月21日很多人找不到mybatis jar或者下载mybatis jar需要付积分&#xff0c;所以本页面给大家提供一个便捷的下载通道&#xff0c;敬请关注。一、mybatis 3.5.2版本下载&#xff1a;此压缩包包含文件&#xff1a;(1)mybatis-3.5.2.jar(2)mybatis…

kali 切换图形界面_kali Linux 文本图形界面切换遇到的怪问题

前段装了在Virtual Box上装一个Kali Linux玩&#xff0c;然后设为了开机进入文本界面&#xff0c;后来遇到无法上网的问题&#xff0c;网上找到解决方法&#xff0c;说是NAT地址转换和host-only双网卡顺序问题&#xff0c;按照网上的说法调整顺序后一切正常。问题及调整方法详见…

linux mysql更改生效_linux下面MySQL变量修改及生效

今天在访问mysql项目的时候突然报500错误&#xff0c;没有找到连接&#xff0c;因此想到mysql的连接时间。mysql> show global variables;主要就是连接时间是28800(8小时)&#xff0c;而且任务调度也没打开&#xff0c;因此想到修改全局变量的值。1.修改任务调度装:1.1具体的…

linux刻录win10u盘_手把手教你装系统之【制作官方win10安装U盘】

本帖最后由 蚂蚁炒花甲 于 2019-11-11 22:58 编辑很多粉粉在收到linux版本的笔记本后用不惯&#xff0c;但又不知道如何装win10系统下面我就来教大家&#xff0c;如何自己动手 制作win10 安装U盘想学习的粉粉们&#xff0c;可以跟着我 学习下手把手教你装系统之【官方win10 U盘…

mysql 数据仓库 元数据_数据仓库中的元数据管理

1. 引言元数据是数据仓库中的一个重要组成部分&#xff0c;元数据管理系统则是构建&#xff0c;管理&#xff0c;维护和使用数据仓库系统的核心部件。2. 基础知识2.1 元数据的定义元数据是指来自企业内外的所有物理数据和知识&#xff0c;包括物理数据的格式&#xff0c;技术和…