vb.net - 我在 vb.net 中有内存泄漏,除了使用垃圾收集器之外,我该如何解决这个问题?
问题描述
这是当我从登录切换到注册时称为登录的第一种形式,然后注册登录内存不断增加它不会停止我该如何解决这个问题?
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
Me.Hide()
Dim registration As New Registration()
registration.Show()
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
Close()
End Sub
第二种形式称为注册
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles linkLabel1.LinkClicked
Me.Hide()
Dim login As New Login()
login.Show()
GC.Collect()
GC.WaitForPendingFinalizers()
GC.Collect()
Close()
End Sub
我在每个表单上使用materialskin和一个带有图像的面板,垃圾收集器不起作用,close()看起来不起作用
解决方案
修复了这是登录表单上的代码
Imports MaterialSkin.Controls
Public Class Login
Inherits MaterialForm
Private _registration As Registration
Public Sub New()
InitializeComponent()
End Sub
Private Sub frm2_FormClosed(ByVal sender As Object, ByVal e As FormClosedEventArgs)
_registration = Nothing 'If form is closed make sure reference is set to null
_registration.Show()
End Sub
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
If _registration Is Nothing Then
_registration = New Registration() 'Create form if not created
AddHandler _registration.FormClosed, AddressOf frm2_FormClosed 'Add eventhandler to cleanup after form closes
End If
_registration.Show(Me) 'Show Form assigning this form as the forms owner
Hide()
End Sub
报名表格
Imports MaterialSkin.Controls
Public Class Registration
Inherits MaterialForm
Public Sub New()
InitializeComponent()
End Sub
Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles linkLabel1.LinkClicked
Owner.Show()
Hide()
End Sub
推荐阅读
- powershell - 在 Powershell 中打开所有具有特定扩展名的文件
- php - 在 typescript ionic4 angular 中实现 aes
- php - 无效的数组 insert_batch() 代码点火器
- angular - 如何在 Angular 分页中仅显示 10 个页码以及第一个和最后一个按钮
- rust - 将上游结构转换为特征
- ios - 原生 iOS 在线应用需要 PHP // MYSQL // JAVASCRIPT?
- java - 如何添加到泛型类型数组中的第一个空索引?
- javascript - 获取 API 并返回特定数据
- flutter - 按下按钮后使文本可编辑
- java - 在 flatMapToPair 中访问 HashMap