使用,位图和函数

时间:2015-06-07 01:52:10

标签: .net memory-management bitmap

我有一个读取位图的功能。 (非简化函数中有足够的代码可以使单独的函数成为可取的。)

Function readBitmap(fName As String) As Bitmap
  Using bmp As Bitmap = New Bitmap(fName)
    Return bmp.Clone
  End Using
End Function

它被称为:

Using qbmp As Bitmap = readBitmap(fname)
  ' play with qbmp
End Using

在调用和调用代码中都有Using,在函数返回时,位图在内存中重复一会儿。通过消除函数中的Using并保留原始位图分配可以避免这种情况:

Function readBitmap(fName As String) As Bitmap
  Dim bmp As Bitmap
  bmp = New Bitmap(fName)
  Return bmp
End Function

这是个好主意吗?假设正确的错误处理,是否存在内存泄漏或其他问题的风险?有更好的方法吗?

0 个答案:

没有答案