GC.markDependencies
2021-02-25 10:37 作者:unity_某某师_高锦锦 | 我要投稿
当前项目出现GC.markDependencies导致的卡顿。

解决方案:删除Resources.UnloadUnusedAssets。一些低端手机可能会导致GCC收集多次,CPU次数的成本。您可以使用Resources.UnloadAssets(“”); 手动。这个API不能导致GC。
后期可以通过定时垃圾回收。
其他建议:
1.尝试在应用程序开始时分配(LoadResource和实例化)尽可能多的资源。如果所需的内存不是太多,您可以简单地实例化所需的所有资源,并根据需要禁用/启用它们。如果资源内存需求很大,这是无法实现的。
2.避免在游戏中调用实例化和销毁。创建一个对象池,当应用程序启动时在其中实例化一组资源。启用您需要的资源,禁用其他所有资源。将对象释放到池中,而不是销毁对象,这样就可以根据需要禁用和重新启用对象。
3.避免在游戏中调用Resources.UnloadUnusedAssets。这只会增加实例化新资源所需的时间,如果您之前已经释放了它。优化内存使用是很有用的,但是在固定的间隔或每次销毁对象时都调用它是没有意义的。