Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
正常!
在microsoft.NET开发环境中编写的代码可分为两类,受控代码和不受控代码,简单地讲,在.NET Framework中编写的受公共语言运行时(CLR)控制的代码称为受控代码,而不受CLR控制的代码称为不受控代码。
受控代码享有许多由CLR提供的特性,其中包括自动内存管理和无用存储单元收集、跨语言的集成、语言无关性、丰富的异常处理功能、改进的安全性、调试和分析、版本控制以及部署等。在无用存储单元收集器(GC)的帮助下,CLR自动管理对象的生存期,当GC发现一个对象在一定时间内一直未被使用时,CLR将自动释放与此对象相关联的资源,并从内存中将此对象删除,当然也可以通过编程来控制对象的生存期。
使用microsoft Visual Studio.NET既可以编写受控应用程序,也可以编写不受控应用程序,可以使用Visual C++ 7.0在Visual Studio.NET中编写不受控代码。Managed Extensions to C++(MC++)是编写C++受控代码的方式。使用C#和Visual Basic.NET编写的代码是受控代码。
因此可以看出,狐表的开发编写的代码方式应该是受控代码,当程序一定时间不使用时,CLR自动释放了与其相关联的资源,并从内存中将其删除,当您再次使用(或激活)狐表时,这些被释放资源需要被重新加载,并将其加载到内存,这就相当于与重启狐表“差之毫厘”自然就会出现您的现象,其实大家都存在您的问题,只是电脑的配置差异,有的感觉不会太明显。
上述理由也真实反映了狐表相对于Visual C++ 编写的程序,首次启动较慢(或者说狐表自身启动较慢)的主要原因,所以只要贺老师在优化了狐表的自身设计后,再出现慢可能也是他本人无能为力的了(自从我在GDI+图形程序设计中见到了受控代码和不受控代码的这一段解释后,就一直没有在狐表的启动问题上去一味地找狐表自身原因),其理由就勿用解释了。
(也许我最后一段的分析不对,请别拍砖!)
程兴刚 何许人也?
我在海边看浪花时,你却钻到海底看浪花生成原理?
厉害,佩服!
呵呵,我说说我的理解:
垃圾回收器(GC)释放的对象是没办法恢复的。他只会释放肯定没用的垃圾数据。
foxtable的有用对象是不会被GC释放的。
GC释放的是没有引用的对象,比如各种事件处理函数内定义的变量、对象。比如打开的窗体,调用了Close方法之后
函数执行完之后,这些变量、对象就成了垃圾。GC会在需要的时候来打扫这些垃圾。
C/C++ 的垃圾对象必须程序员自己释放。
楼主这种现象应该是foxtable所占用的内存长时间不使用,被转移到虚拟内存(硬盘上)了,
当你再次点击foxtable的时候,又会把虚拟内存的内容转移到物理内存,物理内存的内容交换到虚拟内存(页交换)
一般只有物理内存不足的时候才会发生这种情况。
正常!
在microsoft.NET开发环境中编写的代码可分为两类,受控代码和不受控代码,简单地讲,在.NET Framework中编写的受公共语言运行时(CLR)控制的代码称为受控代码,而不受CLR控制的代码称为不受控代码。
受控代码享有许多由CLR提供的特性,其中包括自动内存管理和无用存储单元收集、跨语言的集成、语言无关性、丰富的异常处理功能、改进的安全性、调试和分析、版本控制以及部署等。在无用存储单元收集器(GC)的帮助下,CLR自动管理对象的生存期,当GC发现一个对象在一定时间内一直未被使用时,CLR将自动释放与此对象相关联的资源,并从内存中将此对象删除,当然也可以通过编程来控制对象的生存期。
使用microsoft Visual Studio.NET既可以编写受控应用程序,也可以编写不受控应用程序,可以使用Visual C++ 7.0在Visual Studio.NET中编写不受控代码。Managed Extensions to C++(MC++)是编写C++受控代码的方式。使用C#和Visual Basic.NET编写的代码是受控代码。
因此可以看出,狐表的开发编写的代码方式应该是受控代码,当程序一定时间不使用时,CLR自动释放了与其相关联的资源,并从内存中将其删除,当您再次使用(或激活)狐表时,这些被释放资源需要被重新加载,并将其加载到内存,这就相当于与重启狐表“差之毫厘”自然就会出现您的现象,其实大家都存在您的问题,只是电脑的配置差异,有的感觉不会太明显。
上述理由也真实反映了狐表相对于Visual C++ 编写的程序,首次启动较慢(或者说狐表自身启动较慢)的主要原因,所以只要贺老师在优化了狐表的自身设计后,再出现慢可能也是他本人无能为力的了(自从我在GDI+图形程序设计中见到了受控代码和不受控代码的这一段解释后,就一直没有在狐表的启动问题上去一味地找狐表自身原因),其理由就勿用解释了。
(也许我最后一段的分析不对,请别拍砖!)
不知上述分析正确,但确实狐表运行方面有存在慢的原因,我发布的客户端,大部分用户都说打开项目后,其它操作速度受影响,狐表运行也慢。当然这个配置有关系统,我电脑配置算一般,但也感觉出来慢,只不过销微有点好转。
在这里,有问题想请教下,如果狐表发布的项目在远程访问数据库时,网速慢的时候,是否影响其它系统的操作速度?
不知上述分析正确,但确实狐表运行方面有存在慢的原因,我发布的客户端,大部分用户都说打开项目后,其它操作速度受影响,狐表运行也慢。当然这个配置有关系统,我电脑配置算一般,但也感觉出来慢,只不过销微有点好转。
在这里,有问题想请教下,如果狐表发布的项目在远程访问数据库时,网速慢的时候,是否影响其它系统的操作速度?
1、应该是LXL版主的分析正确。
2、易表是个大型软件,对内存要求高,如果机器性能不好,启动后多少对于系统的运行有些影响。
3、网速慢,狐表在加载和保存上耗费的时间更多,自然会影响系统的速度,特别是那些单核cpu的电脑。
1、应该是LXL版主的分析正确。
2、易表是个大型软件,对内存要求高,如果机器性能不好,启动后多少对于系统的运行有些影响。
3、网速慢,狐表在加载和保存上耗费的时间更多,自然会影响系统的速度,特别是那些单核cpu的电脑。
第三种情况,网速慢时,针对部分单核CPU电脑有何建议提高整体运行速度呢?