Visual Basic.NET - Desborde memoria ram appchash / apphangB1

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 16 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Desborde memoria ram appchash / apphangB1

Publicado por Víctor (4 intervenciones) el 14/06/2018 19:38:19
Hola hice una app con visual studio 2015 Windows aplicación. La app tiene varios webbrowser y muestra y consulta web solamente. No extrae datos de las web. La app al instalarla funciona bien pero en el visor de procesos veo q las ram usada por la app arranca en 160 MB y va subiendo de un mega hasta llegar a 1.5 GB y da errores q debe cerrarse appchash y también apphangB1 nosé cómo solucionar instalé .metros framework 4.5 y 6.1 y sigue igual será q se cierra por usar muchos recuersos . Cómo libero por código además del me.dispose() . Liberar la. Ram no usada . Igual no entiendo porque sigue incrementando la ram usada . Que debo hacer ? Ayuda por favor. Siempre use VB 6.0 es mí primer app en visual studio 2015 . Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 230
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Desborde memoria ram appchash / apphangB1

Publicado por Cesar (79 intervenciones) el 14/06/2018 19:47:07
Hola.

Habria que ver tu codigo.

Algunos tips son:

- Si tienes objetos de conexion a bases de datos, usa Using.
- Si concatenas cadenas, cambialas por un StringBuilder.
- Tambien procura llamar al Garbage Collector en algunos puntos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 16 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Desborde memoria ram appchash / apphangB1

Publicado por Víctor (4 intervenciones) el 14/06/2018 22:20:38
muchas gracias por la respuesta el codigo es bastante simple este es un form son la mayoria asi solo que el principal carga mas webbrowsers
* no usa BD
* no concatena
voy a probar poner el garbage collector por lo que lei se usa asi :

GC.Collect()

lo puedo ejecutar con un timer cada 5 minutos ???
este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Public Class Formestadisticas
 
    ' PARA DAR ZOOM AL WEBROWSER
    Dim InitialZoom As Integer = 100
    Public Enum Exec
        OLECMDID_OPTICAL_ZOOM = 63
    End Enum
    Private Enum execOpt
        OLECMDEXECOPT_DODEFAULT = 0
        OLECMDEXECOPT_PROMPTUSER = 1
        OLECMDEXECOPT_DONTPROMPTUSER = 2
        OLECMDEXECOPT_SHOWHELP = 3
    End Enum
 
    ' FIN ZOOM
    Private Sub Formestadisticas_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        TabControl1.TabPages(0).Text = "      Tiki - Taka     "
        TabControl1.TabPages(1).Text = "      Noti-Timba      "
        TabControl1.TabPages(2).Text = "      La Chance       "
 
 
    End Sub
 
    Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        'posiciona el webbrow
        WebBrowser1.Document.Window.ScrollTo(270, 530)
        'cambia el zoom del webrow a 0 %
        Dim Res As Object = Nothing
        Dim MyWeb As Object
        MyWeb = Me.WebBrowser1.ActiveXInstance
        MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, CObj(110), CObj(IntPtr.Zero))
        WebBrowser1.Visible = True
        VOLVER.Enabled = True
 
    End Sub
 
    Private Sub TabPage1_Click(sender As Object, e As EventArgs) Handles TabPage1.Click
 
    End Sub
 
    Private Sub WebBrowser2_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser2.DocumentCompleted
        'posiciona el webbrow
        WebBrowser2.Document.Window.ScrollTo(20, 500)
        'cambia el zoom del webrow a 110 %
        Dim Res As Object = Nothing
        Dim MyWeb As Object
        MyWeb = Me.WebBrowser2.ActiveXInstance
        MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, CObj(150), CObj(IntPtr.Zero))
        WebBrowser2.Visible = True
    End Sub
 
    Private Sub estadisticas1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles estadisticas1.DocumentCompleted
        'posiciona el webbrow
        estadisticas1.Document.Window.ScrollTo(20, 900)
        'cambia el zoom del webrow a  %
        Dim Res As Object = Nothing
        Dim MyWeb As Object
        MyWeb = Me.estadisticas1.ActiveXInstance
        MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, CObj(80), CObj(IntPtr.Zero))
        estadisticas1.Visible = True
    End Sub
 
    Private Sub VOLVER_Click(sender As Object, e As EventArgs) Handles VOLVER.Click
 
        Me.Close()
 
    End Sub
    Private Sub Form2_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
        'muestra el cursor mouse
        Cursor.Show()
 
    End Sub
End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 230
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Desborde memoria ram appchash / apphangB1

Publicado por Cesar (79 intervenciones) el 14/06/2018 23:50:39
Hola.

Tienes razon, el codigo es sencillo.

Es correcto, se ejecuta con GC.Collect(), y si puedes colocarlo en un Timer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 16 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Desborde memoria ram appchash / apphangB1

Publicado por Víctor (4 intervenciones) el 15/06/2018 00:01:36
lo probe con un timer pero sigue incrementandose el uso de RAM, desde el visual al ejecutar la app no se incrementa la ram se estabiliza en 250 mb pero al compilar y instalar o ejecutar el .exe desde debugg bin ese exe si incrementa la ram hasta mas de 1.5 gb creo q el problema viene de ahi , aunque abra muchas web en el form1 me parece mucha ram y creo q eso hace que se generen los dos errores , no se en que estoy fallando ya no se que mas hacer. saludos y muchas gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 16 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Desborde memoria ram appchash / apphangB1

Publicado por Víctor (4 intervenciones) el 21/06/2018 23:48:36
efectivamente es un error de webrowser. no pude solucionarlo . quite algunas paginas es decir algunos webbrowser de mi app donde desbordaba la memoria. y voy a probar con webkitbrowser de firefox lo agregue lo que no puedo hacer es esto con webkit cambiar el scroll y el zoom como lo hacia con webrowser de IE:
1
2
3
4
5
6
7
8
'posiciona el scroll 
wb.Document.Window.ScrollTo(270, 1080)
 
'cambia el zoom del webrow a 80 %
Dim Res As Object = Nothing
Dim MyWeb As Object
MyWeb = Me.wb.ActiveXInstance
MyWeb.ExecWB(Exec.OLECMDID_OPTICAL_ZOOM, execOpt.OLECMDEXECOPT_PROMPTUSER, CObj(100), CObj(IntPtr.Zero))


muchas gracias por la ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar