我在使用Kinect v2的Unity3D項目中找到了下面的代碼,我接管了它。我很偏執,所以我想在刪除它之前檢查一下。 但是,這兩條線肯定沒有理由?在現有的C#代碼中找到Dispose。我應該擺脫它嗎?
colorFrame.Dispose();
colorFrame = null;
這是C#。它具有自動垃圾收集,所以我的理解是,當它的方便,如果(的getRGB)語句之外
if (GetRGB)
{
ColorFrame colorFrame = frame.ColorFrameReference.AcquireFrame();
if (colorFrame != null)
{
colorFrame.CopyConvertedFrameDataToArray (_ColorData, ColorImageFormat.Rgba);
_ColorTexture.LoadRawTextureData (_ColorData);
_ColorTexture.Apply();
colorFrame.Dispose();
colorFrame = null;
}
}
[您是否需要處理對象並將它們設置爲null?](http://stackoverflow.com/questions/2926869/do-you-need-to-dispose-of-objects-and-設置他們對空) –