返回顶部
首页 > 资讯 > 精选 >VB.NET内存占用的解决方法
  • 100
分享到

VB.NET内存占用的解决方法

2023-06-17 17:06:36 100人浏览 泡泡鱼
摘要

本篇文章为大家展示了VB.NET内存占用的解决方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VB.net为我们带来了许多新的应用方式和代码编写方式,在一定程度上大大提高了编程人员的编程效率。而且

本篇文章为大家展示了VB.NET内存占用的解决方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

VB.net为我们带来了许多新的应用方式和代码编写方式,在一定程度上大大提高了编程人员的编程效率。而且其应用方式多样化,灵活性等特点大大吸引着开发人员。

VB.NET内存占用方法一:将窗体隐藏或者最小化启动

下列VB.NET 2005代码片断通过窗体变量m_IsHide来控制是否将窗体最小化并隐藏,初始化为True。

为了运行下列代码,还需要一个NotifyIcon及一个与之关联的ContextMenuStrip,后者包含mnuShow和mnuHide菜单两枚。

  1. Private m_IsHide As Boolean = True 

  2. Private Sub frmMain_Activated() Sub 
    frmMain_Activated(ByVal sender As 
    Object, ByVal e As System.EventArgs) 
    Handles Me.Activated  

  3. If m_IsHide Then  

  4. Me.windowstate = FORMWindowState.
    Minimized  

  5. Me.Hide()  

  6. Else  

  7. Me.WindowState = FormWindowState.
    Normal  

  8. Me.Show()  

  9. End If  

  10. End Sub  

  11. Private Sub frmMain_Resize() Sub 
    frmMain_Resize(ByVal sender As Object, 
    ByVal e As System.EventArgs) 
    Handles Me.Resize  

  12. If Me.WindowState = FormWindowState.
    Minimized Then  

  13. m_IsHide = True 

  14. Me.Hide()  

  15. End If  

  16. End Sub  

  17. Private Sub mnuShow_Click() Sub 
    mnuShow_Click(ByVal sender As 
    System.Object, ByVal e As System.
    EventArgs) Handles mnuShow.Click  

  18. m_IsHide = False 

  19. Me.WindowState = FormWindowState.Normal  

  20. Me.Show()  

  21. End Sub  

  22. Private Sub mnuHide_Click() Sub 
    mnuHide_Click(ByVal sender As System.
    Object, ByVal e As System.EventArgs) 
    Handles mnuHide.Click  

  23. m_IsHide = True 

  24. Me.WindowState = FormWindowState.Minimized  

  25. Me.Hide()  

  26. End Sub 

上述代码的功能是:

  • VB.NET可执行语句示例代码解读

  • VB.NET创建过程相关步骤详解

  • 如何对VB.NET流进行正确操作

  • 两种VB.NET发送邮件方法解读

  • VB.NET调用Winapi实例探讨

启动时最小化并隐藏

点击mnuHide窗体隐藏

点击mnuShow窗体恢复

最小化时窗体隐藏

一句话,其实就是编程使窗体启动时最小化。

VB.NET内存占用方法二:Windows将程序占用的内存倒入虚拟内存可以造成小内存占用的假象。

乐天居上有篇文章“将物理内存的占用挪到虚拟内存里-----揭密篇 ”对此有完整的介绍:“而是操作系统本身就有这个机制,即当程序不使用时(最小化),操作系统会调用某些命令,来将该程序占用的内存移至虚拟内存,只保留一小部分常规代码”

BOOL SetProcessWorkingSetSize(  HANDLE hProcess,  SIZE_T dwMinimumWorkingSetSize,  SIZE_T dwMaximumWorkingSetSize  );

“将 2个 SIZE_T 参数设置为 -1 ,即可以使进程使用的内存交换到虚拟内存,只保留一小部分代码。

事实上,使用该函数并不能提高什么性能,也不会真的节省内存。因为他只是暂时的将应用程序占用的内存移至虚拟内存,一旦,应用程序被激活或者有操作请求时,这些内存又会被重新占用。如果你强制使用该方法来 设置程序占用的内存,那么可能在一定程度上反而会降低系统性能,因为系统需要频繁的进行内存和硬盘间的页面交换。”

给出我在vb2005中的使用范例:

  1. Imports System.Runtime.InteropServices  

  2. Module modMain Module modMain  

  3. < DllImport("kernel32.dll")> _  

  4. Public Function SetProcessWorkingSetSize() 
    Function SetProcessWorkingSetSize( _  

  5. ByVal hProcess As Integer, _  

  6. ByVal dwMinimumWorkingSetSize As Integer, _  

  7. ByVal dwMaximumWorkingSetSize As Integer) _  

  8. As Integer  

  9. End Function  

  10. < DllImport("kernel32.dll")> _  

  11. Public Function GetCurrentProcess() 
    Function GetCurrentProcess() As Integer  

  12. End Function  

  13. Public Sub ReduceMem() Sub ReduceMem()  

  14. SetProcessWorkingSetSize(GetCurrentProcess, -1, -1)  

  15. End Sub  

  16. End Module  

使用ReduceMem()函数的效果很赞,但是不建议经常用,我只是在FormLoad时用一下,效果就很好了。

值得一提的是,如果不使用GetCurrentProcess()函数得到当前Process,而是使用Process.GetCurrentProcess(),则无法有效缩减使用内存。

上述内容就是VB.NET内存占用的解决方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: VB.NET内存占用的解决方法

本文链接: https://lsjlt.com/news/291176.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • VB.NET内存占用的解决方法
    本篇文章为大家展示了VB.NET内存占用的解决方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VB.NET为我们带来了许多新的应用方式和代码编写方式,在一定程度上大大提高了编程人员的编程效率。而且...
    99+
    2023-06-17
  • redis缓存内存占满的解决方法
    这期内容当中的小编将会给大家带来有关redis缓存内存占满的解决方法,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。缓存数据满了怎么办首先要明确,用作缓存的数据都是设置了过期时间的,没有...
    99+
    2024-04-02
  • Win10电脑内存占用过高怎么办 win10电脑内存占用高的解决方法
    一些用了几年或配置比较低的电脑,在如今使用中经常会出现CPU和内存占用太高,而出现卡顿等问题。今天小编以Win10系统为例,教大家如何优化电脑内存占用高的问题,尽可能提升电脑的流畅性。 Win10电脑内存占用太高解决办...
    99+
    2023-05-22
    电脑内存占用高 win10电脑内存占用高
  • win10系统下360rp.exe占用内存高的解决方法
    如果你的Windows 10系统下的360rp.exe占用内存高,可以尝试以下解决方法:1. 结束进程:右键点击任务栏,选择“任务管...
    99+
    2023-09-16
    win10
  • WinXP下ekrn.exe内存占用100%问题解决方法
      不少用户安装完WinXP系统后,总是发现进程里有个程序ekrn.exe,经常都会占用率100%,ekrn.exe是东西呢其实它是诺顿杀毒软件中的一个反病毒相关程序,很多WinXP正版光碟都是自带安装了诺顿杀毒软件,因...
    99+
    2023-06-12
    WinXP ekrn 内存 解决 ekrn.exe 问题 方法
  • MySql减少内存占用的方法详解
    前言 默认设置下,mysql会初始化很大的内存块用于缓存数据库查询数据。 但我的小主机只有640mb的内存,top查询发现他吃了我30% 的内存总量,差不多200MB。 但这个数据库里只有几MB的数据,感觉...
    99+
    2024-04-02
  • wordpress 占用内存 CPU过高的解决方案
    (ChatGpt的回复再结合其它资料整理,有任何意见欢迎指出)WordPress占用内存过高可能由多种因素引起,以下是一些可能的原因和解决方法。总之,为了解决WordPress占用内存过高的问题,您需要对主题,插件,数据库,缓存,PHP版本...
    99+
    2023-09-03
    php 开发语言
  • Java进程内存占用过高,排查解决方法
    Java进程内存占用过高,排查解决方法 在Java应用程序开发过程中,我们经常会遇到Java进程占用内存过高的问题。这可能会导致系统性能下降、应用程序崩溃甚至无法启动。本文将介绍一些常见的排查和解决方...
    99+
    2023-10-20
    java 开发语言 Java
  • redis内存占用怎么解决
    优化 redis 内存占用:优化数据结构,使用更合适的数据结构;限制值大小,压缩较大值;设置过期策略,自动删除不常访问的数据;定期清除临时或过期数据,重写 aof 文件以释放空间;分片数...
    99+
    2024-05-21
    redis 内存占用
  • doscan.exe进程占用了大量的CPU和内存的解决方法
    如果doscan.exe进程占用了大量的CPU和内存,可能是因为该进程在执行某些任务或扫描操作时出现了问题。以下是一些可能的解决方法...
    99+
    2023-08-14
    doscan.exe
  • windows trustedinstaller.exe占用内存如何解决
    今天小编给大家分享一下windows trustedinstaller.exe占用内存如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-01
  • win11内存占用高怎么解决
    本篇内容主要讲解“win11内存占用高怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win11内存占用高怎么解决”吧!win11内存占用高解决方法:首先按下键盘“Win+R”,打开运行。...
    99+
    2023-06-30
  • win11内存占用高如何解决
    本文小编为大家详细介绍“win11内存占用高如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“win11内存占用高如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win11内存占用高怎么解决:方法一:...
    99+
    2023-06-30
  • MySQL占用内存过大解决方案图文详解
    目录前言解决方案1. 找到配置文件2. 修改配置文件3. 重启MySQL后记前言 对于部分小资玩家来说,服务器数量和内存往往是很有限的,像我个人的服务器配置就是2核4G5M。 4G内...
    99+
    2024-04-02
  • Win11系统exploret.exe内存占用过大怎么办?exploret.exe内存高三种解决方法
      Win11系统exploret.exe内存占用过大怎么办?explorer.exe是Windows程序管理器或者文件资源管理器。这个程序是我们电脑开机之后必须运行的一个程序。关闭它将会导致桌面无法正常的显示。有用户发...
    99+
    2023-05-19
    exploret.exe内存高 Win11系统
  • redis设置最大占用内存的方法
    这篇文章给大家分享的是有关redis设置最大占用内存的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。设置方法:Redis设置占用物理机最大的内存#占用最大20G maxmem...
    99+
    2024-04-02
  • 查看redis占用内存的实现方法
    目录查看Redis占用内存方法环境查看方法查询结果含义总结查看redis占用内存方法 环境 RedisDesktopManager客户端 查看方法 客户端连接redis 进入serve info  (redi...
    99+
    2024-01-29
    查看redis占用内存 redis占用内存 redis内存
  • 阿里云服务器占用内存问的解决方案
    随着互联网的发展,越来越多的企业和个人选择使用云计算服务。其中,阿里云服务器因其性能稳定、扩展性强等优点,受到了广大用户的欢迎。然而,使用过程中可能会遇到服务器占用内存的问题,影响了服务的稳定性和性能。本文将详细分析阿里云服务器占用内存的问...
    99+
    2023-12-11
    阿里 内存 解决方案
  • MySQL占用内存过大如何解决
    这篇文章主要介绍“MySQL占用内存过大如何解决”,在日常操作中,相信很多人在MySQL占用内存过大如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL占用内存过...
    99+
    2024-04-02
  • 解决VMware内存占用过高问题
    回顾多年的记录笔记方法,… 一、故障现象、 VMware虚拟机使用时间一段时间后,会出现开启VMware客户机内存占用过高问题。 二、故障分析 VMware cache缓存区目录占用太大空间。 2、由...
    99+
    2023-09-01
    ubuntu 服务器 运维
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作