Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

关于Ocean老师《Unity商业游戏底层资源加载框架》中的疑问
Unity322455发起了问答2018-12-24
3
回复
789
浏览

问题来自于这样的一段代码,课程中开始时老师 用Resources.UnloadAsset(item.m_Obj)来卸载资源,发现不行,于是用了Resources.UnloadUnusedAssets();这个方法,我经过查找发现Resources.UnloadAsset这个方法只能写在非游戏物体和组件的资源。但是我用这个方法是发现有资源泄漏的问题,于是转而使用Resources.UnloadUnusedAssets()。现在的问题是:

1.老师为什么把这段清理资源的代码用#if只在编辑器下释放,难道打包之后就不需要释放资源了?

2.Resources.UnloadUnusedAssets()这个方法十分消耗性能,Unity会检查堆栈资源标记,如果释放小资源也用这样的方法,会是性能大幅度降低。是否存在很好的解决方案?

所有回复
  • 老师_Ocean • 2018-12-24

    1,這段代码只是解决编辑器下资源释放,走AB的会正常释放不会存在问题

    2,这段代码你把Resource.UnloadAsset 后面加上item.obj=null

    3,这个只是编辑器,所以没有考虑太多性能,老师直接用了resource.unloadunusedassets,并且后面有课程会讲解其中的问题

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
  • 老师_Ocean • 2018-12-24

    老师在演示资源加载的时候演示ab包加载的时候并不会存在资源没释放的问题,你可以再去查看下老师的那个演示课程

    还有-4条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!