Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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# 为什么需要处理图形?_C#_Winforms_Graphics_Gdi - Fatal编程技术网

C# 为什么需要处理图形?

C# 为什么需要处理图形?,c#,winforms,graphics,gdi,C#,Winforms,Graphics,Gdi,为什么需要处理图形? 笔和SolidBrush?这些对象是非托管资源的包装,特别是GDI+对象。如果没有显式地释放这些对象,那么GC需要调用它们的终结器。这将延迟为另一个GC回收其资源。*这意味着您的应用程序将使用超出必要的资源 更新:澄清上述措辞,加上。。。 *当GC遇到具有终结器的对象时(假设在Dispose方法中没有调用GC.SuppressFinalize),它将终结器排队,以便在将来某个时间在终结器线程上运行。因此,对象使用的内存和资源至少会一直保留到当前运行的GC之后。这些对象是非托

为什么需要处理图形?
笔和SolidBrush?

这些对象是非托管资源的包装,特别是GDI+对象。如果没有显式地释放这些对象,那么GC需要调用它们的终结器。这将延迟为另一个GC回收其资源。*这意味着您的应用程序将使用超出必要的资源

更新:澄清上述措辞,加上。。。
*当GC遇到具有终结器的对象时(假设在Dispose方法中没有调用GC.SuppressFinalize),它将终结器排队,以便在将来某个时间在终结器线程上运行。因此,对象使用的内存和资源至少会一直保留到当前运行的GC之后。

这些对象是非托管资源的包装,特别是GDI+对象。如果没有显式地释放这些对象,那么GC需要调用它们的终结器。这将延迟为另一个GC回收其资源。*这意味着您的应用程序将使用超出必要的资源

更新:澄清上述措辞,加上。。。
*当GC遇到具有终结器的对象时(假设在Dispose方法中没有调用GC.SuppressFinalize),它将终结器排队,以便在将来某个时间在终结器线程上运行。因此,对象使用的内存和资源至少会保留到当前运行的GC之后。

简单的答案是,它们实现了“IDisposable”,因此需要对它们进行处理


稍微长一点的答案是,它们消耗需要释放的非托管资源。通过直接调用dispose或使用“using”语句,您可以释放这些资源,而不是等待GC为您释放这些资源。

简单的答案是它们实现了“IDisposable”,因此需要释放它们


稍微长一点的答案是,它们消耗需要释放的非托管资源。通过直接调用dispose或使用“using”语句,您可以释放这些资源,而不必等待GC为您释放这些资源。

如果我没有使用dipose方法怎么办?是否存在某种内存泄漏?Kevin您的答案似乎是,如果显式地处理对象,应用程序将使用比需要更多的资源。这就是你真正想说的吗?@Rye。不,没有内存泄漏。GC最终将释放非托管资源。只有处理好fReachable后才会发生。这比对象的作用域长。@Conrad-谢谢你捕捉到这个错误。名字是詹姆斯,不是凯文@詹姆斯很奇怪我写凯文的方式。对不起,如果我没有用双糖法怎么办?是否存在某种内存泄漏?Kevin您的答案似乎是,如果显式地处理对象,应用程序将使用比需要更多的资源。这就是你真正想说的吗?@Rye。不,没有内存泄漏。GC最终将释放非托管资源。只有处理好fReachable后才会发生。这比对象的作用域长。@Conrad-谢谢你捕捉到这个错误。名字是詹姆斯,不是凯文@詹姆斯很奇怪我写凯文的方式。对不起,我的问题好像错了。它应该是托管和非托管资源。这就是为什么我在谷歌上找不到它的原因是的,谷歌是很棒的,除非你不能找出正确的关键字来触发一些不错的结果。看来我的问题是错的。它应该是托管和非托管资源。这就是为什么我在谷歌上找不到它的原因是的,谷歌是很棒的,除非你不能找出正确的关键字来触发一些不错的结果。