22 关于Resources.load和实例化与内存的关系:
1.加载,单纯的Resources.load后消耗的内存很低,可能只是基础的引用预载、当对象被实例化后才会占用大量内存,当实例化多个对象后和实例化一个相差不大,可能后边实例的对象引用了第一个。
2.卸载,单纯的把所有实例的obj给destroy后,内存不会释放,但是再次实例也不会耗内存,若Object b = Resources.Load("Canvas");这样写,还需要把b=null后再调用Resources.UnloadUnusedAssets()后整个内存才会被释放。
///最好不要给Resources.Load("Canvas");单独定义变量,如果忘记清除变量引用后,内存就释放不了、清除引用是指Resources.Load的引用而不是实例化对象的引用。
所以建议GameObject a = GameObject.Instantiate (Resources.Load("Canvas") as GameObject这样直接写,然后destroy 这个实例对象后,调用unload 就可以释放内存。
23 关于assetbundle的加载和实例化与内存的关系:
1.对于WWW.LoadFromCacheOrDownload方式加载,单纯的load进来也不耗什么内存,实例化后会耗很多内存,destroy实例对象后&#
1.加载,单纯的Resources.load后消耗的内存很低,可能只是基础的引用预载、当对象被实例化后才会占用大量内存,当实例化多个对象后和实例化一个相差不大,可能后边实例的对象引用了第一个。
2.卸载,单纯的把所有实例的obj给destroy后,内存不会释放,但是再次实例也不会耗内存,若Object b = Resources.Load("Canvas");这样写,还需要把b=null后再调用Resources.UnloadUnusedAssets()后整个内存才会被释放。
///最好不要给Resources.Load("Canvas");单独定义变量,如果忘记清除变量引用后,内存就释放不了、清除引用是指Resources.Load的引用而不是实例化对象的引用。
所以建议GameObject a = GameObject.Instantiate (Resources.Load("Canvas") as GameObject这样直接写,然后destroy 这个实例对象后,调用unload 就可以释放内存。
23 关于assetbundle的加载和实例化与内存的关系:
1.对于WWW.LoadFromCacheOrDownload方式加载,单纯的load进来也不耗什么内存,实例化后会耗很多内存,destroy实例对象后&#