问题如标题所示,不废话,直接上代码
private GameObject kLoading = null;
private Texture tex = null;
void Awake()
{
loading = kLoading.transform.Find("LoadingProgress").gameObject;
}
void Start()
{
tex = loading.transform.GetComponent<Image>().mainTexture;
}
void Destroy()
{
DestroyImmediate(loading);
Resources.UnloadAsset(tex);
loading = null;
tex = null;
}
在首个场景的加载界面中挂上 splash Image, 然后在这个加载UI销毁的时候去执行:删除GameObject然后手动卸载这个splash Image的Texture。即可实现。
题外话,另外顺便测试了下:除了PlayerSettings中对这张图有引用,发现加了
tex = loading.transform.GetComponent<Image>().mainTexture;这句话之后
多了别的引用,在末尾加上tex = null;之后引用消失,说明只要使用了GetComponent,在OnDestroy里面都要手动释放一下,,不然就会保留引用,如果是申明了 private Texture tex = null;下面没有赋值,则没有引用。