C#实现的系统内存清理
最近公司做套U盘产品,老思路WinForm内嵌ChromiumWebBrowser,但苦于不了解ChromiumWebBrowser内内存释放机制,导致阅读页面在翻页过多的情况下内存溢出。
看过大神写的关于仿360或QQ电脑管家内存清理的程序。觉得还是很有效果。
网上大多推荐使用系统的SetProcessWorkingSetSize的函数API,但是经过实践发现并不好用。建议使用EmptyWorkingSet函数。以下是代码:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text; namespace SystemMemeoryCleanup
{ class Program { [DllImport("psapi.dll")] static extern int EmptyWorkingSet(IntPtr hwProc); static void Main(string[] args) { ClearMemory(); } public static void ClearMemory() { GC.Collect(); GC.WaitForPendingFinalizers(); Process[] processes = Process.GetProcesses(); foreach (Process process in processes) { //以下系统进程没有权限,所以跳过,防止出错影响效率。 if ((process.ProcessName == "System") && (process.ProcessName == "Idle")) continue; try { EmptyWorkingSet(process.Handle); } catch { } } } }
}
先Mark,再尝试做下修改,看看能否单独清理ChromiumWebBrowser。
C#实现的系统内存清理相关推荐
- C#实现的系统内存清理工具
金山内存整理工具.360内存清理工具非常好用,可以将系统内存最小化,提升系统运行速度.其实这些事情C#也可以做到,原理就是对系统进程中的进程内存进行逐个优化. 网上大多推荐使用系统的SetProces ...
- linux 内存清理 释放命令,Linux系统中的内存清理和释放命令总结
Linux内核代码量大.逻辑关系复杂,因此对内核中的错误进行追溯和调试一直以来都是一件既耗费时间又耗费精力的事情.接下来是小编为大家收集的Linux系统中的内存清理和释放命令总结,希望能帮到大家. L ...
- C#实现清理系统内存
金山内存整理工具.360内存清理工具非常好用,可以将系统内存最小化,提升系统运行速度.其实这些事情C#也可以做到,原理就是对系统进程中的进程内存进行逐个优化. 网上大多推荐使用系统的SetProces ...
- 4G怎样删除android系统,如何清理手机系统内存【详解】
在二十一世纪,手机已经不是什么新奇的事物了.人们一般都会使用手机上网.通讯等.总的来说,手机的功能是在不断的强大.手机功能强大的同时,也就使得手机的内存在不断的增大.当我们使用手机的时间长了之后就会发 ...
- Centos系统内存查看与缓存清理
Centos命令查看系统内存与清理有时服务器卡顿,不一定是CPU使用率过高,也有可能是内存占满,可以使用以下命令查看,并及时清理. 1.查看物理内存使用情况的命令:free -h totel:机器总的 ...
- linux有必要清理内存么,Linux系统需要清理垃圾文件和优化系统吗?
Linux系统需要清理垃圾文件和优化系统吗? 前言 首先这个是windows带来的习惯,Linux系统并不需要清理垃圾文件和优化系统! 清理垃圾 Linux下没有什么垃圾文件,最多的就是程序的缓存文件 ...
- 禁用内存清理_MySql那些事儿(二):InnoDB架构介绍之内存篇
作者:阿茂 InnoDB介绍 书接上回,我们基本说完了mysql的逻辑架构与物理架构.今天我们来说说当下比较火的存储引擎InnoDb.MySQL 5.5以前InnoDB引擎是需要手动通过Plugin方 ...
- android+内存清理+代码,最新版本:Android一键式清理,内存清理功能的实现
Android一键式清理,内存清理功能的实山清理大师等均提供一键式清理和一键加速等功能.实际上,它们杀死了一些后台进程以达到释放内存的目的. 基本思想是列出所有正在运行的进程,检查它们的重要值(Run ...
- 一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?
摘要:该项目是DAYU平台的数据开发(DLF),数据开发中一个重要的功能就是ETL(数据清洗).ETL由源端到目的端,中间的业务逻辑一般由用户自己编写的SQL模板实现,velocity是其中涉及的一种 ...
最新文章
- HDU4009(最小树形图)
- 手把手教你搭建AI开发环境 !(附代码、下载地址)
- 手把手教你写ORM(三)
- 蓝桥杯-拿糖果(java)
- python opencv 如何检测模糊图像?自动判断模糊程度 cv2.Laplacian().var()
- resultset需要关闭吗_旧电脑福音!关闭Windows这些没用的设置,电脑性能至少提升50%!...
- java下拉树_参数模板中下拉树级联下拉数据集查询
- 【华为云技术分享】云图说 | 一张图看懂华为云弹性公网IP
- db2如何锁定一张表_DB2数据库为单个会话锁定的技巧
- [Web Chart系列之五] 1. 实战draw2d 之总体介绍
- Git版本恢复命令reset(转载)
- Win11显卡fps很低怎么办?Win11显卡fps很低的解决方法
- java输出5行星型三角_JAVA图形小动画之简单行星运动
- vue 第八天 小结 作业模拟购物车
- Ffplay视频播放流程
- Android淘宝客链接自动跳转淘宝APP问题
- 微信API接口访问慢
- 局域网打印机怎么连接_苹果手机怎么连打印机?苹果系统怎么连接网络打印机?一看就会...
- 七年之后再次地说:大家好。。。
- XDOJ最长单词的长度
热门文章
- Android Studio的res自动生成的文件出错了_莫韵乐与bug的奇妙冒险
- python中write函数%啥意思_python write( )函数
- 使用AlphaFold2进行蛋白质结构预测
- 读取文件夹下同类型文件的文件名并排序
- 关于drawInRect: withAttributes: 等新方法的使用
- ffmpeg插帧算法
- 【STM32单片机】贪吃蛇游戏设计
- MuMu模拟器是干什么用的?MuMu模拟器Mac版对电脑配置要求是什么?
- 建设数字经济引领型城市 CDEC2022中国数字智能生态大会广州举行
- sql server 函數