如果预制体里引用了好多资源,手动增加预制体引用的资源的引用计数不是很麻烦?
后面改了预制体,又忘了改增加引用计数的代码,那不就会造成bug?
给了你正确使用的姿势,你没正确使用,神仙也救不了啊。
你完全可以写个代码,定时器每隔一段时间释放所有计数为0的资源。
知识量不足就会觉得不知所以然。
这是兜底的代码,补你没维护好引用计数和资源销毁带来的问题。
你自己没用正确的姿势使用,有问题那怪谁?
引用计数这个概念我从来不用,虽然我见到坛子里很多人在用,但是,明明是面向对象的概念,非要把它整的向C++,何必呢,这点我觉得引擎团队做的真不错,没有强迫你一定用通过引用计数去回收资源,不然我估计更没有人用TS写ccc了。
回收资源就老老实实用destroy,完美。
只有一点不好,前几天发帖也说了,引擎团队也不以为然,就是加载中途不能取消,导致资源可能存在泄露,我个人认为违背了面向对象的设计思路。咋办呢,只能自己多写点代码,多几个判断,再destroy 吧,没其他办法。
你肯定会写错代码的情况下谁能解决问题?
靠js的自动内存回收么?那你写了内存泄漏的代码,那怎么解决?
没有谁能帮你解决错误。算法书也不能啊。
你是指望存在什么银弹给你解决所有问题么?
- 我觉得他没说错了,如果你不保证自己的代码问题,你就只能选这个兜底啊,就比如我不能保证后端的数据正确,所以我JSON的时候确实都是trycatch的,如果你每个函数都无法保证,这个就无限放大了概念。
- 回到你的问题,你觉得从引擎角度该怎么解决?你加载了不用,是多久不用?要是我就是想预加载,10分钟后再用,咋办?
- 所以自己忘了,就自己兜底,当然有其他更好的方式(不用引用计数),你可以使用其它方式。
他喜欢质问就去别的贴质问,看了就烦
在项目里挂一个全局异常处理是个很常见的操作,杠精附体才会说每个函数都挂个try catch,当然就算你想每个函数都try起来,也是有办法的,找个打包工具,对源码处理,在抽象语法树上操作。
你从头到尾不都在自信满满的说,我就是会写错代码,就是不能控制好引用计数,怎么引擎不来给我兜底?
跑到论坛来问问题,又觉得别人的回答冒犯了你。你这么自信就不需要来论坛白嫖知识啊。