J'ai un problème de fuite de mémoire très important.
Apparemment c'est l'utilisation de INotifyPropertyChanged qui pose problème
(Voir code ci-dessous)
Quelqu'un à une solution pour résoudre ce problème?
Merci
Imports
System.ComponentModel
Public Class Form1
Private ExitLoop As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.Label1.Text = "Started"
ExitLoop = False
Do While Not ExitLoop
Dim a1 As Demo = New Demo
Application.DoEvents()
Loop
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click, Me.FormClosing
ExitLoop = True
End Sub
End Class
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles TOURREAU [MVP]
"Mickael (VFI)" a écrit dans le message de news:
Bonjour,
J'ai un problème de fuite de mémoire très important. Apparemment c'est l'utilisation de INotifyPropertyChanged qui pose problème (Voir code ci-dessous)
Quelqu'un à une solution pour résoudre ce problème?
Merci
Imports System.ComponentModel
Public Class Form1 Private ExitLoop As Boolean = False Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Label1.Text = "Started"
ExitLoop = False Do While Not ExitLoop Dim a1 As Demo = New Demo Application.DoEvents() Loop
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Me.FormClosing ExitLoop = True End Sub End Class
PrivateSub NotifyPropertyChanged(ByVal info AsString) RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info)) EndSub
PublicProperty chaine() AsString Get ReturnMe.mchaine EndGet Set(ByVal value AsString) IfNot (value = mchaine) Then Me.mchaine = value NotifyPropertyChanged("chaine") EndIf EndSet EndProperty EndClass
Bonjour,
Sous .NET la notion de fuite mémoire n'existe pas. Ce problème de libération est automatiquement géré par une femme de ménage appelée Jessy (GC).
Cordialement
-- Gilles TOURREAU - MVP C#
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
"Mickael (VFI)" <mickael.chapon@vfi-system.com> a écrit dans le message de
news:8165FCE8-7E96-4585-8924-DDC342FECCF9@microsoft.com...
Bonjour,
J'ai un problème de fuite de mémoire très important.
Apparemment c'est l'utilisation de INotifyPropertyChanged qui pose
problème (Voir code ci-dessous)
Quelqu'un à une solution pour résoudre ce problème?
Merci
Imports
System.ComponentModel
Public Class Form1
Private ExitLoop As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.Label1.Text = "Started"
ExitLoop = False
Do While Not ExitLoop
Dim a1 As Demo = New Demo
Application.DoEvents()
Loop
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click, Me.FormClosing
ExitLoop = True
End Sub
End Class
J'ai un problème de fuite de mémoire très important. Apparemment c'est l'utilisation de INotifyPropertyChanged qui pose problème (Voir code ci-dessous)
Quelqu'un à une solution pour résoudre ce problème?
Merci
Imports System.ComponentModel
Public Class Form1 Private ExitLoop As Boolean = False Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Label1.Text = "Started"
ExitLoop = False Do While Not ExitLoop Dim a1 As Demo = New Demo Application.DoEvents() Loop
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Me.FormClosing ExitLoop = True End Sub End Class
PrivateSub NotifyPropertyChanged(ByVal info AsString) RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info)) EndSub
PublicProperty chaine() AsString Get ReturnMe.mchaine EndGet Set(ByVal value AsString) IfNot (value = mchaine) Then Me.mchaine = value NotifyPropertyChanged("chaine") EndIf EndSet EndProperty EndClass
Bonjour,
Sous .NET la notion de fuite mémoire n'existe pas. Ce problème de libération est automatiquement géré par une femme de ménage appelée Jessy (GC).
Cordialement
-- Gilles TOURREAU - MVP C#
S.A.R.L. P.O.S Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Patrice
Création répetée d'objets plutôt que fuite mémoire ? Si c'est pour une démo de fonctionnement de INotifyPropertychanged je ne vois pas pourquoi on crée de nouveaux objects a1 apparemment inutilisé tant que l'utilisateur n'appuie pas sur un autre bouton ce qui peut aller très très vite...
-- Patrice
"Mickael (VFI)" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un problème de fuite de mémoire très important. Apparemment c'est l'utilisation de INotifyPropertyChanged qui pose problème (Voir code ci-dessous)
Quelqu'un à une solution pour résoudre ce problème?
Merci
Imports System.ComponentModel
Public Class Form1 Private ExitLoop As Boolean = False Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Label1.Text = "Started"
ExitLoop = False Do While Not ExitLoop Dim a1 As Demo = New Demo Application.DoEvents() Loop
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Me.FormClosing ExitLoop = True End Sub End Class
PrivateSub NotifyPropertyChanged(ByVal info AsString) RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info)) EndSub
PublicProperty chaine() AsString Get ReturnMe.mchaine EndGet Set(ByVal value AsString) IfNot (value = mchaine) Then Me.mchaine = value NotifyPropertyChanged("chaine") EndIf EndSet EndProperty EndClass
Création répetée d'objets plutôt que fuite mémoire ? Si c'est pour une démo
de fonctionnement de INotifyPropertychanged je ne vois pas pourquoi on crée
de nouveaux objects a1 apparemment inutilisé tant que l'utilisateur n'appuie
pas sur un autre bouton ce qui peut aller très très vite...
--
Patrice
"Mickael (VFI)" <mickael.chapon@vfi-system.com> a écrit dans le message de
groupe de discussion : 8165FCE8-7E96-4585-8924-DDC342FECCF9@microsoft.com...
Bonjour,
J'ai un problème de fuite de mémoire très important.
Apparemment c'est l'utilisation de INotifyPropertyChanged qui pose
problème (Voir code ci-dessous)
Quelqu'un à une solution pour résoudre ce problème?
Merci
Imports
System.ComponentModel
Public Class Form1
Private ExitLoop As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.Label1.Text = "Started"
ExitLoop = False
Do While Not ExitLoop
Dim a1 As Demo = New Demo
Application.DoEvents()
Loop
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click, Me.FormClosing
ExitLoop = True
End Sub
End Class
Création répetée d'objets plutôt que fuite mémoire ? Si c'est pour une démo de fonctionnement de INotifyPropertychanged je ne vois pas pourquoi on crée de nouveaux objects a1 apparemment inutilisé tant que l'utilisateur n'appuie pas sur un autre bouton ce qui peut aller très très vite...
-- Patrice
"Mickael (VFI)" a écrit dans le message de groupe de discussion :
Bonjour,
J'ai un problème de fuite de mémoire très important. Apparemment c'est l'utilisation de INotifyPropertyChanged qui pose problème (Voir code ci-dessous)
Quelqu'un à une solution pour résoudre ce problème?
Merci
Imports System.ComponentModel
Public Class Form1 Private ExitLoop As Boolean = False Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Label1.Text = "Started"
ExitLoop = False Do While Not ExitLoop Dim a1 As Demo = New Demo Application.DoEvents() Loop
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Me.FormClosing ExitLoop = True End Sub End Class