社区
API
帖子详情
内存和虚拟内存!
niefuhua
2002-11-28 08:24:45
如何知道所有正在运行的程序各自占据了多少内存和虚拟内存?
...全文
32
5
打赏
收藏
内存和虚拟内存!
如何知道所有正在运行的程序各自占据了多少内存和虚拟内存?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
suntt
2002-11-29
打赏
举报
回复
UP
programart_life
2002-11-29
打赏
举报
回复
如果只针对主题问题,没有那么麻烦啊,用Winnt下的“任务管理器”就看见了!
ysp128
2002-11-29
打赏
举报
回复
由于窗体和控件是可见的,所以它们与其它对象的存活期不同。例如,即使释放了对窗体的所有引用,也不会关闭该窗体。Visual Basic 维护整个工程所有窗体的全局集合,只有当窗体卸载时才能从集合中删除该窗体。
同样的,Visual Basic 为每个窗体维护一个控件集合。可以从控件数组中加载或卸载控件,但简单地释放对控件的所有引用并不能撤消它。
详细信息 有关窗体和控件集合的内容已在本章的“Visual Basic 中的集合”中以作了讨论。
Visual Basic 窗体经历的状态
通常地,Visual Basic 窗体在整个存活期中有四种状态:
创建,但不加载。
加载,但不显示。
显示。
内存和资源完全收回。
在一定环境下,窗体可有第五种状态:当其中有一个控件仍被引用时,窗体处于卸载和未引用状态。
本主题将描述这些状态及状态之间的转换。
创建,但不加载
Initialize 事件是该状态开始的标志。因而,放在 Form_Initialize 事件过程中的代码,就是窗体创建时最先执行的代码。
处于这种状态时,窗体是作为一个对象而存在,但还没有窗口。而且它的控件也不存在。虽然该状态可能很短暂,但任何窗体都要经过该状态。
例如,如果执行 Form1.Show,则窗体被创建,Form_Initialize 开始执行;一旦 Form_Initialize 执行完毕,该窗体被加载,这是下一个状态。
在指定窗体为启动对象时会发生同样的过程。在“工程”菜单中,选取“工程属性”对话框,然后选定“通用”选项卡,就可以指定一个窗体为启动对象。一旦窗体被指定为启动对象,该窗体在工程启动时就被创建,并立即加载和显示。
注意 正如下面描述的,通过调用窗体的 Show,或使用内置的属性和方法,都可以从 Form_Initialize 中加载窗体。
保持创建,但不加载的状态
相反的,以下的代码创建 Form1 的实例,但不让其进入加载状态:
Dim frm As Form1
Set frm = New Form1
一旦 Form_Initialize 结束,在不强制加载窗体的情况下,所能执行的过程只有能添加到该窗体代码窗口的 Sub、Function 和 Property 过程。例如,可以给 Form1 添加以下的方法:
Public Sub ANewMethod()
Debug.Print "Executing ANewMethod"
End Sub
使用变量 frm(也就是 frm.ANewMethod),可以在窗体不强制进入下一状态的情况下调用该方法。同样的,可以调用 ANewMethod 创建窗体:
Dim frm As New Form1
frm.ANewMethod
由于 frm 声明为 As New,所以直到代码中首次使用该变量之前,上述情况是调用 ANewMethod,该窗体不能创建。上面的代码执行后,该窗体保持在已创建状态,但没有加载。
注意 只要运行 Form1.ANewMethod,无需声明窗体变量,也可以达到上述示例的效果。正如“定制窗体类”中所解释的,Visual Basic 为每一个窗体类创建一个隐含的全局变量。该变量名和类名相同,这可想象为 Visual Basic 进行了 Public Form1 As New Form1 声明。
可以在不加载窗体的情况下,任意运行定制的属性和方法。然而,一旦访问了窗体内置的任一属性或控件,该窗体就进入下一状态。
注意 把一个窗体分为两部分是非常有用的,一部分是代码部分,另一部分是可视部分。窗体加载前,只有代码部分在内存中。这样,可以不加载窗体的可视部分,而在代码中任意调用过程。
所有窗体都需经过的唯一状态
创建完毕但未加载,是所有窗体都需经过的唯一状态。如果上述示例中变量 frm 被设置为 Nothing,则该窗体在进入下一状态前就撤消了:
Dim frm As New Form1
frm.ANewMethod
Set frm = Nothing '窗体被撤消。
这样使用的窗体不会比类模块好,所以绝大部分窗体进入下一状态。
加载但不显示
Load 事件标志着此状态的开始。一旦窗体进入加载状态,Form_Load 事件过程中的代码就开始执行。
Form_Load 事件过程开始后,窗体上的所有控件都被创建和加载,而且该窗体有了一个窗口─ 是通过窗口句柄 (hWnd) 和设备描述体 (hDC) 完成的,尽管该窗口还未被显示。
任何窗体只有加载后才能可见。
很多窗体自动从创建但不加载状态进入加载但不显示状态。窗体如果满足以下的条件就会自动加载:
该窗体在“工程属性”对话框的“通用”选项卡中被指定为启动对象。
窗体中首先被调用的属性或方法是 Show 方法,正如示例 Form1.Show。
首先被调用的窗体属性或方法是窗体内置的成员,如上述例子中是 Move 方法。
注意 因为每个控件定义了窗体的一个属性,所以这种情况包括了窗体的所有控件;也就是说,为了访问 Command1 的 Caption 属性,就必须经过窗体的 Command1 属性:Command1.Caption。
niefuhua
2002-11-28
打赏
举报
回复
上面那位仁兄,可以说得详细一点吗?谢谢
SeeMeStudio
2002-11-28
打赏
举报
回复
使用WMI就可以得到。
物理
内存
和
虚拟
内存
我们都知道,直接从
内存
读写数据要比从硬盘读写数据快得多,因此更希望所有数据的读取和写入都在
内存
中完成,然而
内存
是有限的,这样就引出了物理
内存
与
虚拟
内存
的概念。 物理
内存
就是系统硬件提供的
内存
大小,是真正的
内存
。相对于物理
内存
,在 Linux 下还有一个
虚拟
内存
的概念,
虚拟
内存
是为了满足物理
内存
的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑
内存
。用作
虚拟
内存
的磁盘空间被称为交换空间(又称swap 空间)。 作为物理
内存
的扩展,Linux 会在物理
内存
不足时,使用交换分区的
虚拟
内存
,更详细地说,就是内核.
物理
内存
是什么是计算机的显卡
内存
吗,物理
内存
和
虚拟
内存
是什么意思怎么理解...
在计算机概念中,
内存
主要有物理
内存
和
虚拟
内存
,那么它们分别是什么意思呢?怎么理解物理
内存
和
虚拟
内存
呢?可能很多用户了解过却不知道具体含义,下面一起看看!物理
内存
和
虚拟
内存
是什么意思?物理
内存
,就是我们将
内存
条插在主板
内存
槽上的
内存
条的容量的大小。看计算机配置的时候,主要看的就是这个物理
内存
。一般
内存
大小有1G、2G、4G。
虚拟
内存
是计算机系统
内存
管理的一种技术。它使得应用程序认为它拥有连续的可用的...
虚拟
内存
与虚拟存储器的区别
虚拟
内存
与虚拟存储器的区别背景
虚拟
内存
虚拟存储器 背景 在面试的时候经常会谈及虚拟存储器和
虚拟
内存
,但好像对于
虚拟
内存
和虚拟存储器这两个词语的定义,使用有些混淆,然后在查阅了一些后做了一些总结。
虚拟
内存
这里说的
虚拟
内存
其实更确切的说是windows下的
虚拟
内存
,windows下的
虚拟
内存
其实是借用磁盘空间假装它是
内存
,当应用访问
虚拟
内存
地址的时候,如果
内存
管理器发现对应的物理地址在磁盘中,那
内存
管理器就会将这部分信息从磁盘中加载回
内存
中。 虚拟存储器 虚拟存储器说起来更像是一种机制,这种机制,有的书称为
虚拟
内存
与物理
内存
的联系与区别
操作系统有
虚拟
内存
与物理
内存
的概念。在很久以前,还没有
虚拟
内存
概念的时候,程序寻址用的都是物理地址。程序能寻址的范围是有限的,这取决于CPU的地址线条数。比如在32位平台下,寻址的范围是2^32也就是4G。并且这是固定的,如果没有
虚拟
内存
,且每次开启一个进程都给4G的物理
内存
,就可能会出现很多问题: 因为我的物理
内存
时有限的,当有多个进程要执行的时候,都要给4G
内存
,很显然你
内存
小一点,这很快就...
Linux下物理
内存
和
虚拟
内存
交换机制
Linux下物理
内存
和
虚拟
内存
交换机制 Vmstat是Virtual Memory Statistics
虚拟
内存
统计缩写: 物理
内存
是计算机
内存
的大小,从物理
内存
中读写数据比硬盘中读写数据要快很多,而
内存
是有限的,所以就有了物理
内存
和
虚拟
内存
的概念。 物理
内存
就是硬件的
内存
,是真正的
内存
。
虚拟
内存
是为了满足物理
内存
不足采用的策略,利用磁盘空间虚拟出一块逻辑
内存
,用作
虚拟
内存
的空间也
API
1,486
社区成员
23,279
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章