unity如何检测内存泄漏_Unity 网络大量请求图片造成内存泄漏

目前untiyAPI 提供网络请求图片方式有两种

WWW

2.UnityWebRequest

第一种 www 下载图片避免内存泄漏

首先 请求部分

IEnumerator Request(Action action)

{

WWW www = new WWW("url");

yield return www;//等待Web服务器的反应

if (www.error != null)

{

Debug.Log( www.error);

yield return null;

}

action( www.texture);

}

第二部分 给RawImage 赋值 这部分 尤为重要,处理不好会内存泄漏

RawImage rawImage;

第一种:

void Create(Texture2D t)

{

//先销毁Texture

Destory( rawImage);

rawImage.texture=t;

}

这种方式是先将rawImage 引用的Texture销毁,再引用新的Texture2D,内存不会泄露

UnityWebRequest 下载方式:要注意会有两处引起内存泄漏的地方

这种方式 如果使用UnityWebRequest GetTexture 会引起内存泄漏,这是引擎本身的bug

可以去源码 ,unity 在销毁UnityWebRequest 没有销毁DownloadHandlerTexture引用的

m

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值