社区
.NET技术其他语言
帖子详情
C#怎么减少程序内存?
选择很重要
2014-03-17 04:55:25
.NET应用程序由于需要加载CLR及一些通用类库,并且具有垃圾收集机制,较其他本地语言如C,C++具有较大的footprint,使用.NET创建一个简单的Winform可能就会占用近10M的内存,所以随着开发的进行,内存占用会比较大,请问有没有什么比较好的办法减少内存的使用?
...全文
627
1
打赏
收藏
C#怎么减少程序内存?
.NET应用程序由于需要加载CLR及一些通用类库,并且具有垃圾收集机制,较其他本地语言如C,C++具有较大的footprint,使用.NET创建一个简单的Winform可能就会占用近10M的内存,所以随着开发的进行,内存占用会比较大,请问有没有什么比较好的办法减少内存的使用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
风一样的大叔
2014-03-18
打赏
举报
回复
一、避免创建不必要的对象 拿到代码后,第一步就是看设计文档,然后断点一步一步的看代码,大概明白了逻辑之后,发现思路有一些问题。之前的代码处理流程思路大概是下面这样的: 1.将文件读取到内存,实例化 2.根据条件对文件进行检索,并存储到结果集1中 3.对结果集1中的结果进行匹配度计算,并存储到结果集中2 4.按对结果集2进行匹配度排序,取最匹配的10条记录,然后返回 二、优化数据类型及算法 越到后面内存的降低越来越困难。仔细看了代码之后,除了上面之外,代码中也有一些其他问题,比如,一开始就将大量的对象实例化到内存中,然后一直保存。每一条记录中的信息比较多,但真正有用的用于搜索匹配的只有下面四个字段,但是整体的实例化会将其他没有用的字段也一并序列化进去了。导致很多内存被无用的字段占用。 三、采用非托管代码或者模块编写数据处理逻辑 上面的两部操作虽然减少了将近50-60%的内存占用,但是仍然达不到领导的要求,于是又尝试并比较了各种 使用不同的数据结构将数据载入到内存中的内存占用大小,包括直接将文件按类型读成字符串、数组、结构及类,内存占用最小的直接将文件读成字符串,10M的数据文件读进内存也会占用20-30M的空间,还不谈对其进行处理过程中产生的一些临时变量对内存的占用。使用dotTrace及CLR Profile等工具检查之后,发现内存的占用也是这些原始数据。
C#
内存
修改器(仿CE)
好吧 我承认这东西效率真不咋地 也别喷我的代码 我承认我的代码写的也不咋地 ...还有就是 这
程序
可能存在许多潜在的bug 比如
内存
溢出 不过我能知道的或者知道怎么解决的问题 我已近解决了 总之 这代码仅供参考
SciTech.NET.Memory.Profiler.v4.0.114.安装_注册机
NET Memory Profiler-找到
内存
泄漏并优化
内存
使用针对
C#
,VB.Net, 或其它.Net
程序
。 包含安装+注册机
微信小
程序
系统教程
C#
版[3/3阶段]_微信小
程序
电商系统
微信小
程序
系统教程[初级阶段],微信小
程序
0基础学起,讲解微信小
程序
开发的基础知识。 微信小
程序
系统教程共有“微信小
程序
系统教程[初级阶段]”、“微信小
程序
系统教程[中级阶段]——核心技术”、“微信小
程序
...
c#
如何限制
程序
内存
使用的大小
c#
虽然内置垃圾回收机制,但是并不能解决
程序
占用
内存
庞大的问题,如果我们仔细观察任务管理器,我们会发现一个
程序
如果最小化的时候,它所占用的会骤然减小,这时操作系统会把
程序
用不到的
内存
暂时放到虚拟
内存
中...
c#
程序
运行后
内存
一直叠加
c#
内存
叠加处理
.NET技术其他语言
1,978
社区成员
12,450
社区内容
发帖
与我相关
我的任务
.NET技术其他语言
.NET技术 其他语言讨论
复制链接
扫一扫
分享
社区描述
.NET技术 其他语言讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章