最近我们的游戏在加载时比较卡顿,甚至在魅族设备上直接卡到闪退,用Logcat看了一下,大概是找不到资源的问题。可是我们加载已经是异步加载了,为什么还会卡呢?我们在电脑上也没报找不到资源的错呢,为啥在魅族上会因为找不到资源闪退呢?
打开Profiler一看,原来是这个地方,在Loading.LockPersistenManger卡了1000多毫秒。
网上搜了一下,原来是正是异步加载出的问题。
UnityEngine.Resources.LoadAsync(path)
如果加载的参数”path”不正确,找不到该路径,则会出现卡顿。
在用Resources.Load()时,如果路径错误,Unity会报错;而Resources.LoadAsync()路径错误,不会报错,只是卡顿。