用VB新建两个工程,大窗体的 load事件中一个加入
Private Sub Form_Load()
     Me.Hide
     App.TaskVisible = False
     Me.WindowState = 1  '最小化窗体
End Sub另一个加入
Private Sub Form_Load()
     Me.WindowState = 1
End Sub
生成EXE文件,运行,两个程序在内存的使用上差别惊人啊。
前者使用 为 3056 K
后者仅占    392 K为什么会这样,是什么原因??

解决方案 »

  1.   

    me.hide 为什么会占用近3000K的内存?
      

  2.   

    第一个EXE,实际上是对窗体全部可视内容已进行了加载,而第二个没有。
    所以,可以推测,若你在工程中不加任何代码,VB自动加载并显示窗体,那其与第一个EXE所占内存,应大致相当。我猜测:VB创建窗体时可能因还不能分配属性,会建立一个比较大的hdc,所以窗体加载时会有一个高峰的内存占用,当窗体给过resize后,才会删除原hdc,并重建一个合适的大小,回收一些内存。