对了,2.0春节版的下一个版本,访问多个页面后,再关闭,内存占用将比现在的版本有很大的下降 - 尤其是虚拟内存
还有优化了几个CPU占用率比较高的地方,请大家下个版本再看看
楼主说的这个函数,只能降低物理内存看起来的占用,它实际是把做了内存交换, 我们还是希望能深入内核和代码逻辑去降低内存占用,而不是简单的调用一句Windows API,然后把系统为此的开销推给用户去承担
当然,还是要谢谢楼主的热心 偶也下来试试~~支持楼主一个~ TW的内存比1.X的大的多~感觉 内存是变得好小了 这个东西说实说只是起一个心理安慰的作用,带来的隐患则多多。
最大的一个问题就是让硬盘的读写频率加大了。
原来国内有个mim的im软件就用这个,结果因为交换过于频繁,软件非常不稳定 开发者说的很中肯,内存只是减少一点只是看起来好看,但未必会对用户的浏览体验带来更好! 学习下:( 只是看起来而已。实际上不是如此 试用了一下,占用内存少了,可虚拟内存多了!
加起来和没有修改的基本持平了! 如果内存大,空出那么多也是浪费,还不如频繁读内存,而不是频繁读硬盘 不懂这个:sad: :sad: 不懂
:P :P :P SetProcessWorkingSetSize()这个函数的应用要小心。 它固然可以改变应用程序的workset,也就是物理内存的占有。但是这个也是有代价的。 如果系统中其它的程序不变,当然没有问题; 但系统是动态的,而且还有其它程序在运行。 如果系统内存富裕,那么是否改变workset,值得商榷; 但如果系统内存紧张,那么改变workset,使得TW内存消耗减小,但随着打开网页的增加,对内存的需求又会改变,那么反过了反而消耗系统的资源(内存重新的划分,及CPU耗时判断及修正内存分配,都是资源的消耗),因此对性能的影响是显而易见的,而且时间长了,内存占有怕有又要回升。
就Windows本身而言,窗口的最小化,或者闲置等,系统都会调用这个SetProcessWorkingSetSize()函数,如果应用程序内部在调用的话, 有可能导致内存调整频繁,从而更影响系统整体性能。
而所谓内存碎片,则是另一个大的议题,三言两语怕说不清楚; 但系统内存和进程内存空间,还有物理内存是有所区别的, 每个进程的虚拟内存映射到真实的物理内存上,是一个非线性的过程,根本不是一一对应的, 因此所谓碎片说,不正确;但强行分配一大块内存,迫使系统paging,重新分配内存,因此反而在一定程度上达到了内存“清理”的过程。
因此我的观点是, 除非特别应用的需要,值得一定程度上接管内存策略;其它的应用还是让OS的sub系统各司其职吧。
btw,楼主也用Delphi的吗? :) 支持20F和19F
没有必要这样做,有时间控件 一定会站CPU
像这样 即占了用户的内存,又占了CPU
频繁的强制的把内存 调入虚拟内存, 对硬盘来说还是伤害(和前期的BT差不多)
[[i] 本帖最后由 bshkl 于 2007-3-7 11:16 编辑 [/i]] 前一段不是快车闹得很厉害么?听说原来是使用了比特精灵的技术 [quote]原帖由 [i]寄托天下[/i] 于 2007-3-7 12:06 发表
前一段不是快车闹得很厉害么?听说原来是使用了比特精灵的技术 [/quote]
发生什么事了 什么比特精灵的技术 好用 高人佩服:) [quote]原帖由 [i]寄托天下[/i] 于 2007-3-7 12:06 发表
前一段不是快车闹得很厉害么?听说原来是使用了比特精灵的技术 [/quote]
给讲下! 好奇着呢 !:(
页:
1
[2]