Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JSON序列化中的内存泄漏_C#_Json_Serialization_Memory Leaks_Libraries - Fatal编程技术网

C# JSON序列化中的内存泄漏

C# JSON序列化中的内存泄漏,c#,json,serialization,memory-leaks,libraries,C#,Json,Serialization,Memory Leaks,Libraries,我创建了一个C#应用程序,并使用了JSON序列化。当前应用程序正在消耗太多的工作集内存。可能是因为我使用了NewtonSoft JSON库吗?我还使用了BouncyCastle库。它还会造成内存泄漏吗?请给我一些建议 我建议你试试蚂蚁记忆分析器。内存管理通常很难找到内存使用情况 然而,根据我的经验,Newtonsoft.Json没有太多潜在的内存泄漏 我自己也没用过BouncyCastle,所以我无法告诉你它对内存的使用情况。考虑到加密的性质,我认为有些部分是非托管/本机的。确保所有的IDisp

我创建了一个C#应用程序,并使用了JSON序列化。当前应用程序正在消耗太多的工作集内存。可能是因为我使用了NewtonSoft JSON库吗?我还使用了BouncyCastle库。它还会造成内存泄漏吗?请给我一些建议

我建议你试试蚂蚁记忆分析器。内存管理通常很难找到内存使用情况

然而,根据我的经验,
Newtonsoft.Json
没有太多潜在的内存泄漏

我自己也没用过BouncyCastle,所以我无法告诉你它对内存的使用情况。考虑到加密的性质,我认为有些部分是非托管/本机的。确保所有的
IDisposable
都在所有代码路径上进行了处理(我建议使用
using
,以确保即使在例外情况下也会发生这种情况)


然而,一般来说,在使用良好的社区创建库之前,我会将矛头指向我自己的代码。

您是否尝试过
DataContractJsonSerializer
JavaScriptSerializer
而不是JSON.net?它们内置于C#中,与外部库相比,可能造成的问题更少

详情:


你说的“当前应用程序占用了太多的工作集内存”是什么意思?您是否从内存异常中获得
OutOfMemoryException
s?如果不是,这是任何现代内存管理环境的预期行为。是的,我会遇到内存不足异常。我想知道JSON序列化在其中扮演的角色。如果BouncyCastle和NewtonSoft也对此做出了贡献,如果您想要更好的答案,我们可能需要查看一些序列化代码。代码非常复杂,我必须经历几个类。您能告诉我我提到的这两个库是否有问题吗?