5
我們爲我們的Windows Forms UI渲染引擎開發了一個小型測試套件,該套件允許在以自動方式運行測試用例時測量性能並檢測內存泄漏。現在我們也想檢查手柄泄漏。在桌面平臺上,我們可以使用此代碼:確定GDI句柄和USER對象的數量
[DllImport("User32")]
private extern static int GetGuiResources(IntPtr hProcess, int uiFlags);
using (var process = Process.GetCurrentProcess())
{
var gdiHandles = GetGuiResources(process.Handle, 0);
var userHandles = GetGuiResources(process.Handle, 1);
}
此方法在Windows Mobile中似乎不可用。是否有另一種方式來在Windows Mobile/CE上以編程方式確定這些值?
據我瞭解您的方法,這將需要我重寫我們的應用程序中的整個資源處理,這是目前由Windows窗體(位於'Pen','Graphics'和'Bitmap'內的某處)處理的 - 僅用於爲了測試資源句柄泄漏的緣故。由於這種測試通常是在發佈新版本之前執行的,我寧願觀察現有工具的應用程序行爲。無論如何,感謝您的建議 - 我很欣賞這一努力。 – Gene
當然在部署之前不要這樣做,不。但是,對於您的應用程序,這將是一個更好的設計。考慮未來的版本。 :) – jp2code