WinMi
WinMi
自动模式下,在启动模块里加了一个监听切换场景时调用LowMemoryNotification函数,能看到被回收  目前这里有一个疑问: 我这里UI框架: ----UIMgr:ui管理类,会缓存着继承自UIPanel的界面逻辑脚本 ----UIPanl: UI逻辑脚本,界面都是继承自这个类’ ---------mWidget: UIPanel的成员变量, 对应UMG蓝图实例 销毁界面时,从UIMgr中移除UIPanel的缓存,mWidget从视口空移除,mWidget没有赋值null。夸场景的时候调用LowMemoryNotification函数,窗口未被释放,资源也未被释放,我的疑问是,UIPanel已经从UIMgr从移除了,这时候没有被引用,UIPanl应该是等待着被GC,在GC的同时,成员变量mWidget也应该是会被释放,而不需要赋值null一下吧 我在销毁窗口时,mWidget赋值null后,窗口是有被释放。难道mWidget持有者UIPanel被回收时,不会自动回收mWidget?
主要就是想问的是,ts对象持有蓝图资源对象时,ts对象被释放了,会自动释放它的成员变量(蓝图资源对象)嘛?还是说要手动赋值null
> 没被释放说明你某些地方存了引用所以释放不了啊 嗯嗯,在持有者(ts对象)不用时(没有引用了),我手动让成员变量(蓝图资源对象)赋值null。目前观察到时可以了,之前是一直认为,持有者都没有引用了,等gc回收持有者时,理应回收成员。就没手动释放了
我再查查看,还有事,一般从游戏场景切到登录场景,有必要手动调用LowMemoryNotification函数?
在86%的时候会等待1分钟多左右
在启动的时候,感觉是没有一定要重新编译,解析,那一套走一篇吧,可以在进入编辑器时,上方有个按钮功能,自己想全部编译就全部编译。而且,平常也是开始编辑器敲ts代码,本身就会增量编译了。
我这里版本控制也是忽略了js和ts生成的代理蓝图。vs和node安装挺容易的,所以我都让项目里需要用到ue4的都安装了。但是这个打开编辑器的这个效率,实在是有时挺蛋疼的,ue4本身经常会奔溃退出,每次重开。。。
群主大大,nice,这个体验改善太棒了
目前看到PC端《方舟生存进化》也是用UE4做的,Mod支持比较好,他是这样的目录结构   它这个打包PC的时候都不大pak,直接Content这个目录暴露出来,玩家的Mod内容就直接加到官方定义的Mods文件夹下