`
Zaki
  • 浏览: 50542 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

内存优化软件使用的是一种手段

    博客分类:
  • C#
 
阅读更多

继续上一篇的解释:

--------------------------------

一个空白WinForm在任务管理器中都占用几十兆内存,的确有点可怕!通常有3种方法:                 

1. 不要管他。 

CLR & GC 会自动管理内存占用,根据当前环境参数自动调整,这样会得到一个最佳化的运行效率。

2. 设置托管程序进程允许的最大工作集大小。

 

1  Process.GetCurrentProcess().MaxWorkingSet  =  (IntPtr)( 1024   *   1024   *   5 );

3. 使用SetProcessWorkingSetSize,将部分物理内存占用转移到虚拟内存。

 

1  [DllImport( " kernel32.dll " )]
2  public   static   extern   bool  SetProcessWorkingSetSize(IntPtr proc,  int  min,  int  max );
3      
4  private   void  button1_Click( object  sender, System.EventArgs e)
5  {
6    SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle,  - 1 - 1 );
7  }

注意第2,3种方法在某种程度上都会影响程序的性能。设置一个合理的工作集大小,或者在程序启动后,空闲时(Application.Idle)使用SetProcessWorkingSetSize,还是可以的,毕竟减少内存占用对于系统运行也有一定的益处。

 

使用事例:

 

 1  private   void  timer1_Tick( object  sender, System.EventArgs e)
 2  {
 3     //  使用定时器将当前物理内存占用(MB)添加到列表框中。
 4     string  s  =   string .Format( " {0} " , Process.GetCurrentProcess().WorkingSet  /   1024   /   1024 );
 5     this .listBox1.Items.Insert( 0 , s);
 6  }
 7  
 8  [DllImport( " kernel32.dll " )]
 9  public   static   extern   bool  SetProcessWorkingSetSize(IntPtr proc,  int  min,  int  max );
10      
11  private   void  button1_Click( object  sender, System.EventArgs e)
12  {
13     //  减少内存占用
14    SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle,  - 1 - 1 );
15  }

分享到:
评论

相关推荐

    易语言优化内存使用率

    "SetProcessWorkingSetSize"是Windows API函数,用于调整当前进程的工作集大小,这是调整内存使用的一种方法。工作集是指进程中当前正在使用的物理内存页,通过合理设置,可以避免频繁的页面交换,从而提高程序运行...

    内存优化工具

    内存优化工具是针对计算机系统运行效率提升的一种实用软件,尤其对于32位和64位系统用户来说,它能够有效地管理并优化内存资源,解决电脑运行卡顿的问题。内存(RAM)是计算机运行过程中临时存储数据的重要部分,当...

    内存优化整理工具 绿色版

    总的来说,"内存优化整理工具 绿色版"为用户提供了一种简便的方法来管理和优化计算机的内存,提高系统运行效率,尤其对于那些经常运行大型应用或者电脑性能逐渐下降的用户来说,是一款非常实用的工具。然而,为了...

    易语言模块优化内存模块.rar

    2. **内存对齐**:内存对齐是提高数据访问效率的一种手段,确保数据按照特定规则在内存中排列,避免不必要的缓存未命中。 3. **内存池**:内存池是一种内存管理技术,它预先申请一大块内存,然后从中分发小块内存给...

    内存优化专家7.2 清理内存

    总的来说,"内存优化专家7.2 清理内存"通过其内核级优化技术和智能清理策略,为用户提供了一种有效提升电脑运行效率的方式。正确使用此类工具,可以在不升级硬件的情况下,显著改善电脑的整体性能,让用户享受更流畅...

    小巧而实用内存整理软件

    这款软件可能采用了其中的一种或结合两种方式,以平衡用户体验和内存优化效果。 在实际使用中,用户只需运行压缩包内的“MemEmpty.exe”文件即可启动内存整理过程。这个程序可能是绿色版,无需安装即可直接运行,...

    DLL内存优化加强版_dll_源码

    DLL(Dynamic Link Library)是Windows操作系统中的一个重要组成部分,它是一种可重用的代码库,能够被多个应用程序同时调用,从而提高系统效率和资源利用率。本压缩包“DLL内存优化加强版_dll_源码”提供的是一款...

    电脑内存实时监控 压缩 优化

    内存压缩是一种技术,通过压缩内存中的数据来减少其占用的空间,从而在物理内存有限的情况下提高可用性。这种技术尤其适用于内存资源紧张的设备,如嵌入式系统或低配电脑。内存压缩算法有多种,例如LZ77、LZ78、...

    内存优化方案

    内存压缩技术作为一种有效的内存优化手段,在提升系统性能方面发挥着重要作用。本文将详细介绍内存压缩技术的前身与现状以及其工作原理。 #### 一、内存压缩的前身与现状 ##### 1.1 前身:Compcache 内存压缩的...

    超小超好用的电脑内存整理软件

    内存整理是计算机优化的一种手段,尤其对于经常进行多任务处理或者运行大型软件的用户来说,内存整理能够提高电脑性能和响应速度。本文将详细介绍内存整理的原理、必要性以及如何使用名为"MemDef.exe"的内存整理软件...

    手机虚拟内存软件手机虚拟内存软件

    手机虚拟内存软件是一种技术,它允许手机操作系统使用存储空间作为临时RAM(随机存取存储器)的扩展,以提升设备的性能和运行速度。在现代智能手机中,由于硬件限制,物理RAM容量可能不足以应对日益复杂的应用程序和...

    胡凯 - Android内存优化之5R法则

    此外,对象池的使用也是一种循环利用内存的方法。通过对象池可以将已经创建的对象存储起来,在需要时重新利用,而不是频繁地创建和销毁对象。 最后,Resource(资源管理)是整体的资源管理策略。在Android应用中,...

    易语言模块优化内存.rar

    内存优化主要涉及以下几个方面: 1. **内存分配与释放**:在易语言编程中,正确地分配和释放内存是基础。过度的内存分配可能导致内存碎片,而忘记释放内存则可能导致内存泄漏。模块通过智能内存管理,自动跟踪内存...

    最好的内存释放软件,支持win7 64位 效果相当好

    内存管理是计算机操作系统中的...总之,选择像CleanMem这样的内存释放软件,可以作为临时提高系统性能的一种方法,但用户也需要了解内存管理的基本原理,并结合适当的系统维护和硬件升级,以保持电脑的最佳运行状态。

    系统 内存 回收 软件

    内存管理是计算机操作系统中...总之,系统内存回收软件是针对内存管理的一种辅助工具,能够帮助用户释放被浪费的内存资源,提升电脑运行流畅度。但用户应当理解其工作原理,并结合其他优化措施,以实现最佳的系统性能。

    Tomcat JVM内存优化(Linux环境)

    本文将详细探讨这两种内存溢出的原因、解决方案以及如何进行JVM内存优化。 #### PermGen space内存溢出 `PermGen space`全称为Permanent Generation space,它用于存储JVM的类元数据信息,如类定义、常量池等。当...

    内存虚拟硬盘软件

    总的来说,内存虚拟硬盘软件是提升系统性能的一种技术手段,尤其适用于需要快速处理大量数据的工作场景,例如高清视频编辑、游戏运行、数据库操作等。但在使用前,应评估系统资源和数据持久性的需求,合理配置虚拟...

    android图片瀑布流优化版,防止内存溢出

    本优化版的Android图片瀑布流解决方案就是针对这一问题进行改进,旨在提供一种高效且稳定的图片加载策略。 1. **内存管理优化** - **使用BitmapFactory.Options**:在加载图片时,通过`BitmapFactory.decodeStream...

    smartram内存整理软件

    内存整理是解决计算机运行缓慢、卡顿问题的一种有效手段,尤其是在内存资源紧张时,这类工具能发挥重要作用。 **内存管理基础** 在理解smartram工作原理前,我们先来了解一下计算机内存的基本概念。内存,也称RAM...

    Android内存优化——常见内存泄露及优化方案.pdf

    弱引用是一种特殊的引用,它不会增加对象的引用计数,因此不会阻止垃圾回收器回收对象。 除此之外,常见的内存泄露场景还包括使用注册监听器而不及时注销、持有Bitmap等大型对象的引用不释放、使用Cursor等数据库...

Global site tag (gtag.js) - Google Analytics