| ||||
| Timer "acaparaRAM" Estoy en medio de un prorgamita y en el tengo un timer que es tal que asi
Código:
y el tio no hace mas que acaparar mas y mas ram a cada ciclo que es ejecutado y cuando el asunto empieza a ser mosquenate el solito se vacia y vuelve a ir subiendoPrivate Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If IsWindowVisible(GetForegroundWindow()) And statuswindow = False Then
Dim rct As RECT
Dim victima As Long = GetForegroundWindow()
GetWindowRect(GetForegroundWindow(), rct)
Dim bmpScreenshot As Bitmap = New Bitmap(rct.Right - rct.Left, rct.Bottom - rct.Top, PixelFormat.Format24bppRgb)
Dim gfxScreenshot As Graphics = Graphics.FromImage(bmpScreenshot)
gfxScreenshot.CopyFromScreen(rct.Left, rct.Top, 0, 0, New Size(rct.Right - rct.Left, rct.Bottom - rct.Top), CopyPixelOperation.SourceCopy)
Try
bmpScreenshot.Save(sTempFolderPath & victima & ".png")
Catch ex As Exception
End Try
End If
End Sub
veis algo que pueda hacer para que no esté ahi subiendo y bajando la ram?
__________________ http://www.sonwich.com en obras pero haciendo ruido Última edición por juanito1712; 02/02/2012 a las 15:50 |
| |||
| Respuesta: Timer "acaparaRAM" Creo que el problema es que no liberas los recursos del objeto graphics ni del objeto Bitmap. La forma de hacer esto es llamar al método Dispose al terminar con ellos o usar using. Con Using:
Código VB:
Ver originalCopiar Sin Using:
Código VB:
Ver originalCopiar |
| ||||
| Respuesta: Timer "acaparaRAM" perfecto muchas gracias!!!
__________________ http://www.sonwich.com en obras pero haciendo ruido |