[]两个小问题
1、一个面板中含有几个按钮,分别为按钮添加 this.myBtn.on(Event.CLICK) 事件,点击某按钮后有时还会发送事件 this.event(...),在关闭面板时设置 this.removeSelf() ,下次生成同类型的对象面板可正常打开;若在关闭时设成 this.destroy() 或 this.destroy(false),新面板打开时会报错 cannot read property 'xxx' of null。请问 this.removeSelf() 是否能将面板相关的资源占用完全清除,或有什么更好的方法?请指教!
2、在主文件中引入类文件 和 在具体文件中需要时再引入特定文件,两者在性能上有什么不同吗?!具体情况是:在主文件中导入要使用的ClassA,在ClassA中会用到ClassB,在ClassA中导入ClassB时报错说不认识ClassB的包名,试验后发现在主文件中导入ClassB后可直接在ClassA中使用(不用导入)。一般情况是:在哪个类文件中需要使用其它类时,直接在哪个类文件中将要使用的类文件导入即可。但有时会出现如上不正常情况。谢谢!
注:使用的是 LayaAir IDE,TS 版本。
2、在主文件中引入类文件 和 在具体文件中需要时再引入特定文件,两者在性能上有什么不同吗?!具体情况是:在主文件中导入要使用的ClassA,在ClassA中会用到ClassB,在ClassA中导入ClassB时报错说不认识ClassB的包名,试验后发现在主文件中导入ClassB后可直接在ClassA中使用(不用导入)。一般情况是:在哪个类文件中需要使用其它类时,直接在哪个类文件中将要使用的类文件导入即可。但有时会出现如上不正常情况。谢谢!
注:使用的是 LayaAir IDE,TS 版本。
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
Monica - 知识达人
赞同来自:
destroy是销毁此对象。destroy对象默认会把自己从父节点移除,并且清理自身引用关系,等待js自动垃圾回收机制回收。destroy后不能再使用。会移除自身的事情监听,自身的timer监听,移除子对象及从父节点移除自己。里边的参数destroyChild 是否同时销毁子节点,若值为true,则销毁子节点,否则不销毁子节点。
资源需要自己用Laya.loader.clearRes清理。
建议:如果只是关闭界面的话直接用removeSelf()从显示列表中移除即可。这个界面彻底不用的话再用destroy销毁。(销毁之后想再次使用的话需要重新实例化)
2.
主文件中只需要引用当前所需界面的类即可。在ClassA中导入ClassB时报错说不认识ClassB的包名?不太清楚你具体是怎么操作的,需要你提供一个例子我们来看下是哪里写错了!(正常就是在哪里使用就在哪里实例化)