随笔 - 163, 文章 - 1, 评论 - 20, 阅读 - 14万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

非托管资源

Posted on   steve.z  阅读(279)  评论(0编辑  收藏  举报

 托管资源(Unmanaged Resource)是dot Net的一个概念,指诸如包装操作系统资源的一类对象(并非内存资源),例如文件,窗口或网络连接,对于这类资源虽然垃圾回收器(GC)可以跟踪封装非托管资源的对象的生存期,但它不了解具体如何清理这些资源。常见的非托管源有:

  ApplicationContext,Brush,Component,ComponentDesigner,Container,Context,Cursor,

  FileStream,Font,Icon,Image,Matrix,Object,OdbcDataReader,OleDBDataReader,Pen,

  Regex,Socket,StreamWriter,Timer,Tooltip 等。

托管资源,是指由CLR管理分配和释放的资源,一般是托管内存。

非托管资源,是由系统分配和释放的资源。

一般地在CLR里new 一个对象或者分配一个数组都不需要手动去释放内存, 而如windows里的句柄资源常常需要手动释放,如字体、刷子、DC等。所有的Window内核对象(句柄)都是非托管资源,如文件句柄、套接字句柄、窗体句柄。。。太多了。

new出来的对象占用的内存是托管资源。

扩展阅读:
点击右上角即可分享
微信分享提示