簡體   English   中英

什么是托管資源和非托管資源?

[英]What are managed resources and unmanaged resources?

我們什么時候應該進行內存管理?對於兩種資源我們該如何做? 托管和非托管資源的列表是什么? 我們是否真的需要擔心內存泄漏?

托管資源是完全用.NET編寫的資源。 盡管通常不會發生經典的內存泄漏,但仍然可以通過不引用未使用的資源來泄漏內存( 最常見的原因是不注銷事件處理程序 )。

非托管資源通常是那些不是純.NET的資源(在同一過程中)-示例如下:

  • COM組件
  • 數據庫連接/事務
  • 窗把手
  • 文件系統句柄
  • 注冊表句柄
  • 網絡連接
  • 等...等...

對於這些,您需要正確實現Dispose模式,並在完成使用后確保正確處理。

我們是否真的需要擔心內存泄漏?

是的,我們確實需要擔心它們,尤其是在.NET之外的情況下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM