每次計時器滴答時,應用程序都會繼續使用額外的內存。
如何處理GetActeWindowTitle()和window2中的句柄?
我該如何管理內存使用情況?管理CPU使用
我的代碼:
public partial class Window1 : Window
{
Window2 window2 ;
System.Windows.Forms.Timer timer1;
public Window1()
{
InitializeComponent();
timer1 = new Timer();
timer1.Interval = 900000;
timer1.Tick += new EventHandler(timer1Tick);
timer1.Start();
}
private void timer1Tick(object Sender, EventArgs e)
{
window2 = new window2Window();
if (((GetActeWindowTitle().IndexOf("Outlook") != -1) ||
(GetActeWindowTitle().IndexOf("Word") != -1)))
{
window2.Close();
}
else
{
window2.Show();
window2.Topmost = true;
}
}
private string GetActeWindowTitle()
{
const int nChars = 256;
IntPtr handle = IntPtr.Zero;
StringBuilder Buff = new StringBuilder(nChars);
handle = GetForegroundWindow();
if (GetWindowText(handle, Buff, nChars) > 0)
{
return Buff.ToString();
}
return null;
}
}
是關於CPU使用率或內存的問題?什麼是'window2Window'並且它實現了IDisposable?如何衡量內存使用情況,並在垃圾回收後停止使用? –
你爲什麼要創建windows2然後關閉?爲什麼不只是新的window2Window在else? – Paparazzi
當我看着taskmanager時,內存正在爲每個計時器滴答滴答。 –