就比如简单的,往ListView或ListBox中,有时需要加载很多图片,有时显示的只是图片的名称,而不是整个路径.然后我自己做的时候,我全部封装成我自己定义的对象,对象中对外显示的是图片的名称,但是,因为是对象,我随时随地都可以选择性地获取图片的名称或全部路径.
我之所以想封装为对象,一个是因为操作方便,另一个是因为MSDN说,对于多次用到,最好用 FileInfo 而不是 File.
所以我定义自己的类.因为FileInfo有时不比我定义的好用.
我觉得用对象,非常方便.但是每次用的时候,现在都变成这样,每次用到对象,我都担心会占用太多内存...

解决方案 »

  1.   


    主要是今天我做的一个,用 BitMap对象封装我的图片,然后用Graphics 对象在上面写入字体.
    不懂位图太占内存还是怎么样,就每幅图加几个字,每幅图从 2点几 MB变成 8点几MB,几次都是 Out Of Memory
    我优化了几次代码后,还好一点,在优化代码的时候,我总想尽可能的释放对象,所以当时就也想到自己封装到 ListBox的对象了...
      

  2.   

    FileInfo与File的区别在于前者几乎将一个文件相关所有信息(名称、路径、大小、修改日期、存档属性、访问权限等)都放在一个对象了,这样多次使用时,不用频繁地访问IO,以及一堆的权限确认判断
    主要是出于性能方面的考虑
    而你说的用字符串还是对象,则更侧重于业务逻辑的设计,你的问题可以说没有标准答案,要看具体的问题
    还有,不是说用对象了占用内存就多了,对于你的例子影响很小,并且很多时候也不会一直占着
      

  3.   

    File的静态方法并不需要额外的存储,而FileInfo是一个对象。通常意义上说,两者没有什么区别。
      

  4.   

    FileInfo与File的区别在于前者几乎将一个文件相关所有信息(名称、路径、大小、修改日期、存档属性、访问权限等)都放在一个对象了,这样多次使用时,不用频繁地访问IO,以及一堆的权限确认判断
    主要是出于性能方面的考虑
    而你说的用字符串还是对象,则更侧重于业务逻辑的设计,你的问题可以说没有标准答案,要看具体的问题
    还有,不是说用对象了占用内存就多了,对于你的例子影响很小,并且很多时候也不会一直占着不会一直占着我知道,但是GC也没有那么及时哈...