项目场景:

提示:这里简述项目相关背景:

例如:当在进行UnityWebRequest请求数据时候,打印就报错显示“A Native Collection has not been disposed, resulting in a memory leak. Enabl”,但不能定位错误的地方在哪,于是百度也没有明确答案,然后摸索一番,后面是老大告诉我的,记录一下;


问题描述

提示:这里描述项目中遇到的问题:

例如:数据请求提交过程中,UnityWebRequest 不时出现数据没有释放的情况,偶尔会一部分数据
内存溢出情况:

IEnumerator Post(string url, string data, Action<string, bool> callback)
{UnityWebRequest post = UnityWebRequest.Post(url, "POST");if (!string.IsNullOrEmpty(data)){post.uploadHandler = (UploadHandler)new UploadHandlerRaw(Encoding.UTF8.GetBytes(data));}post.SetRequestHeader("Content-Type", "application/json");//根据个API需求定义请求头yield return post.SendWebRequest();if (post.result == UnityWebRequest.Result.Success){callback?.Invoke(post.downloadHandler.text, true);}else{callback?.Invoke(post.error, false);Debug.LogError($"{post.error}:{transform}");}
}

原因分析:

提示:这里填写问题的分析:

这个通常都是直接使用了Nativearray过时没有释放就会报这个错
使用NativeArray的时候最好前面加 Using,或者结束时显示释放

Using(){.....
}

显式释放


解决方案:

提示:这里填写该问题的具体解决方案:

在代码块前面加上using

IEnumerator Post(string url, string data, Action<string, bool> callback)
{using UnityWebRequest post = UnityWebRequest.Post(url, "POST");if (!string.IsNullOrEmpty(data)){post.uploadHandler = (UploadHandler)new UploadHandlerRaw(Encoding.UTF8.GetBytes(data));}post.SetRequestHeader("Content-Type", "application/json");//根据个API需求定义请求头yield return post.SendWebRequest();if (post.result == UnityWebRequest.Result.Success){callback?.Invoke(post.downloadHandler.text, true);}else{callback?.Invoke(post.error, false);Debug.LogError($"{post.error}:{transform}");}
}

这样貌似就没有显示过了,除了这请求地方,其他地方还需要注意一下,目前只发现这个地方会有类似情况,有什么错误的,还希望各位大佬指出一下。

关于“A Native Collection has not been disposed, resulting in a memory leak. Enabl”问题相关推荐

  1. A Native Collection has not been disposed, resulting in a memory leak. Enable Full StackTraces to ge

    A Native Collection has not been disposed, resulting in a memory leak. Enable Full StackTraces to ge ...

  2. [已解决]Unity使用WebRequest过程中发生内存问题A Native Collection has not been disposed

    问题背景 Unity版本:2021.3.16 在用Unity做一个文字识别的应用,方案是用UnityWebRequest把图片发送给web api,但在发送一定时间后Unity会报错. (具体堆栈信息 ...

  3. Android系统(31)--- 如何分析native memory leak

    如何分析native memory leak 分析native程序发生内存泄漏问题,就需要对每一笔内存申请做记录,释放内存时清除记录,然后在认为存在内存泄漏时将记录提取出来分析,看看在哪段代码存在申请 ...

  4. Android 系统(30)---如何用DDMS分析native memory leak

    native程序如果发生内存问题,一般都比较难查,幸好DDMS有集成native memory leak(仅仅针对app,无法分析mediaserver等非app的进程)功能,通过DDMS可以观察na ...

  5. Native崩溃说明 so库崩溃、SIGBUS(bad memory access) 和 SIGSEGV(Invalid memory reference)

    参考:友盟 : Native崩溃说明 一.概念说明 在应用崩溃的时候,我们将会获取到两个信息: signal: 信号量,下文将会详细的说明不同的信号量及其含义 code: 错误码, 除了几个所有信号量 ...

  6. Android native heap memory leak 实战(二) --- DDMS

    一. 手机端准备工作 1. 安装库文件 所有的  native  内存分配函数  ( malloc ,  calloc , etc.)  都在  Android 的 libc   库中.为了跟踪堆内存 ...

  7. java中的垃圾收集器_Java中的垃圾收集

    java中的垃圾收集器 Garbage collection in java is one of the advance topic. Java GC knowledge helps us in fi ...

  8. 使用LeakTracer检测android NDK C/C++代码中的memory leak

    Memory issue是C/C++开发中比较常遇到,经常带给人比较大困扰,debug起来又常常让人无从下手的一类问题,memory issue主要又分为memory leak,野指针,及其它非法访问 ...

  9. STL源码剖析 迭代器iterator的概念 和 traits编程技法

    iterator模式定义如下:提供一种方法,使之能够依序巡访某个 聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表述方式. STL的中心思想在于:将数据容器(containers)和算法(a ...

最新文章

  1. 信息安全的一些东西,初步查询了解!
  2. 乏善可陈的Neuralink
  3. ndk use of undeclared identifier #39malloc#39
  4. ubuntu/debian/centos/rhel使用镜像源一键安装gitlab-ce服务
  5. 深入浅出设计模式原则之单一原则(SRP)
  6. 每周一个 Python 模块 | hashlib
  7. arcgis js 4.x 地图中加入图片
  8. 中等数学类杂志投稿信箱
  9. linux 系统维护的几样工具
  10. MacBook运行C++,不用安装任何软件
  11. UML统一建模语言简介
  12. ICMP协议与ping
  13. 相遇在这茫茫的网海里。你在天涯,我在海角
  14. redis-----简单介绍---基本的配置---持久化----学习笔记
  15. Android设备实现语音视频通话
  16. linux下cuda cudnn安装 没有权限的安装
  17. python 步数_用python如何修改微信和支付宝每天走路的步数
  18. 中文停用词库,不用C币直接复制
  19. 西门子s7-1200博图v16灌装机PLC程序+西门子KTP1200触摸屏程序 1200plc和3台v90伺服pn通讯
  20. 记录搭建分布式项目环境-MySQL集群

热门文章

  1. 基于Madagascar的二维地震声波波动方程正演模拟
  2. H5微信分享 朋友 分享给朋友圈 vue 踩坑实战,附注意事项 及 解决方案
  3. 新日本语能力考试N2文法蓝宝书(详解%练习)2019
  4. 小米手环 android版本区别,华为手环6和小米手环5区别对比-哪个更值得入手
  5. python005 -- from inport 作用
  6. Linux的压缩指令zip,tar,gzip
  7. windows squid 使用安装做二级代理
  8. Python开发【第五章】:常用模块
  9. 上海交通大学,计算机考研情况如何?
  10. 基于MATLAB的一维薛定谔方程求解仿真