VB vb6.0占多少内存问题

分析应用商店应用的内存使用量(VB、C#、C++)
分析内存使用量(VB、C#、C++)
分析应用商店应用的内存使用量(VB、C#、C++)
在 Visual Studio 2013 Update 2 中,你可以使用性能和诊断中心的内存使用量工具,来分析用 C#、Visual Basic 或 C++ 和 XAML 编写的 Windows 运行时应用的内存使用情况。
尤其是,你可以:
监视在制订方案时 Visual Studio 中应用的内存使用情况。
你不必使用系统和第三方工具。
通过单击,创建应用的内存状态的详细快照。
通过比较快照,找出细微或复杂的内存问题的根本原因。
本主题介绍如何使用内存使用量工具分析 C# 应用和 Visual Basic 应用。
性能和诊断中心提供了许多选项来运行和管理诊断会话。
例如,你可以在 Windows Phone 应用或 Windows 应用商店应用上运行 CPU 使用量工具,还可以在 Visual Studio 计算机、Windows Phone 或 Windows 应用商店设备上或者在某个 Visual Studio 仿真程序或模拟器中运行诊断会话。
若要在使用 JavaScript 和 HTML 的 Windows 应用商店应用中分析内存使用情况,请参阅
有关内存使用量工具的详细信息(包括如何分析 C++ 和 C++/Cx 应用),请参阅 Microsoft 应用程序生命周期管理博客上的
在 Visual Studio 中打开项目。
在菜单栏上,选择“调试”和“性能和诊断”。
在性能和诊断中心页上,选择“内存使用量”,然后选择“启动”按钮。
你可能正在测试本机组件以及作为启动项目的托管应用。
或者,托管应用可能只是一个测试工具,并且你只对本机内存感兴趣。
或者你可能想要了解托管应用和 Windows 运行时之间的关系。
在上述情况中,选择“设置”,然后选择语言或目标语言。
虽然可以使用“内存使用量”工具生成用于查找并修复问题的详细报告,但还可以使用它来研究你主动制订的方案的实时内存效果。
当启动诊断会话时,将启动应用并且性能和诊断页将显示该应用的内存使用情况的时间线关系图。
当应用运行时,你可以尝试新功能或者研究可能出现问题的情况。
内存使用量时间线关系图显示了应用运行时该应用内存中的波动情况。
该关系图中的峰值通常表明应用中的例程正在收集或创建数据,然后在处理完成后放弃它。
较大的峰值表明你可以进行优化的方法。
更需关注的是未返回的内存消耗中出现增加,因为这可能表明低效的内存使用情况或甚至表明出现内存泄露。
若要在不创建报告的情况下监视会话,只需关闭诊断窗口。
若要在拍摄内存快照后生成报告,请选择“停止”。
若发现要调查的内存问题,你可以在诊断会话期间拍摄快照,以在特定时刻捕获内存对象。
由于应用使用大量不同类型的对象,因此你可能希望集中分析某一种情况。
还有一个较好的办法是,在出现内存问题之前获取应用的基线快照,首次出现问题后获取另一个快照,并且在重复执行该方案时获取一个或多个其他快照。
若要收集快照,请启动新的诊断会话。
在希望捕获内存数据时选择“拍摄快照”。
若要生成报告,请选择“停止”。
在停止收集数据后,内存使用量工具将停止应用并显示概述报告。
使用快照视图以在新的 Visual Studio 窗口中打开详细的报告。
存在两种类型的快照视图:
显示了某个快照中的类型和实例。
将比较两个快照中的类型和实例。
快照视图图片中带编号的项是可以打开内存使用量报告视图的链接。
链接文本显示了在拍摄快照后内存中的总字节数。
选择此链接以显示快照详细信息报告,该报告按类型实例的总大小进行排序。
链接文本显示了在拍摄快照后内存中的对象总数。
选择此链接以显示快照详细信息报告,该报告按类型实例的计数进行排序。
该链接文本显示拍摄此快照时内存中对象的总大小和上一个快照的总大小之间的差异。
如果此快照的内存大于上一个快照的内存,则该链接文本将显示正数,反之,该链接文本将显示负数。
链接文本“基线”表明此快照是诊断会话中的第一个快照;“无差异”表明差异为零。
选择此链接以显示快照差异报告,该报告按类型实例的总大小中的差异进行排序。
此链接文本显示此快照中内存对象的总数与上一个快照中对象总数之间的差异。
选择此链接以显示快照差异报告,该报告按类型实例的总计数中的差异进行排序。
将显示报告中的类型和实例。
通过选择类型或实例,可以显示选定项的“根路径”和“引用对象”树。
将显示引用类型或实例的对象链。
.NET Framework 垃圾回收器仅在释放对某个对象的所有引用后清理该对象的内存。
将显示选定类型或实例引用的对象。
在“对象类型”项具有子项后,你可以选择箭头图标来显示它们。
若“对象类型”文本的颜色为蓝色,你可以选择该文本以导航至其源代码文件中的对象。
该源文件已在单独的窗口中打开。
实例名是由内存使用量工具生成的唯一 ID。
如果你发现无法轻松地确定某个类型,或者如果不知道如何将其包含到代码中,对此不必担心。
它可能是通过内存使用量工具显示的 Framework、操作系统或编译器中的对象,因为它涉及对象的所有权链。
大多数应用都包含超乎想像的大量类型,然而应用开发人员对其中的大多数类型都不是很感兴趣。
内存使用量工具定义了两个筛选器,它们可用于隐藏“托管堆”和“根路径”树中的大多数类型。
还可按类型名称筛选树。
在“筛选器”框中输入字符串,以将树显示的内容限制为包含指定文本的类型。
筛选器不区分大小写,并且可识别类型名称任意部分中指定的字符串。
在应用该筛选器后,“大小(以字节为单位)”小于快照内存总大小的 0.5% 的类型将在“托管堆”列表中隐藏。
“仅我的代码”筛选器将隐藏由外部代码生成的大多数实例。
外部类型属于操作系统或 Framework 组件,或者由编译器生成。
可以使用快照详细信息报告专注于诊断会话中的某个快照。
若要打开详细信息报告,可在快照视图中选择一个链接,如下图所示。
这两个链接都可打开相同的报告;唯一的差异是在报告中启动“托管堆”树的排序顺序不同。
在这两种情况下,你可以在报告打开后更改排序顺序。
“MB”链接按“非独占大小(以字节为单位)”列对报告进行排序。
“对象”链接按“计数”列对报告进行排序。
“托管堆”树列出了保存在内存中的对象类型。
你可以展开类型名称以查看十大类型示例(按大小排列)。
通过选择类型或实例,可以显示选定项的“根路径”和“引用对象”树。
类型或对象实例的名称。
类型的对象实例数。
对于实例,该数量始终为 1。
大小(以字节为单位)
对于类型,则为内存快照中所有类型实例的大小,排除实例中包含的对象的大小。
对于实例、类型,则为对象的大小,排除实例中包含的对象大小。
非独占大小(以字节为单位)
类型实例的大小或单个实例的大小,其中包括所含对象的大小。
“根路径树”显示引用类型或实例的对象链。
.NET Framework 垃圾回收器仅在释放对某个对象的所有引用后清理该对象的内存。
当你在“根路径”树中查看某个类型时,将在“引用计数”列中显示保留对该类型引用的类型对象的数量。
当你分析实例时,该列不会显示。
“引用对象”树显示已选定类型的对象或实例引用的对象。
对象类型/实例
类型或对象实例的名称。
大小(以字节为单位)
对于类型,则为所有类型实例的大小,排除类型中包含的对象的大小。
对于实例,则为对象的大小,排除实例中包含的对象大小。
非独占大小(以字节为单位)
类型实例的总大小或实例的大小,其中包括所包含的对象的大小。
快照差异报告显示主要快照和紧接着在它之前拍摄的快照之间的更改。
若要打开差异报告,可在快照视图中选择一个链接,如下图所示。
这两个链接都可打开相同的报告;唯一的差异是在报告中启动“托管堆”树的排序顺序不同。
你可以在报告打开后更改排序顺序。
“MB”链接按“非独占大小(以字节为单位)”列对报告进行排序。
“对象”链接按“计数”列对报告进行排序。
“托管堆”树列出了保存在内存中的对象类型。
你可以展开类型名称以查看十大类型示例(按大小排列)。
通过选择类型或实例,可以显示选定项的“根路径”和“引用对象”树。
请注意,在该图片中,“计数”、“大小(以字节为单位)”以及“非独占大小(以字节为单位)”列已折叠。
类型或对象实例的名称。
主要快照中的类型实例的数量。
对于实例,“计数”始终为 1。
对于类型,则为主要快照与上一个快照之间的类型实例数的差异。
对于实例,字段是空白的。
大小(以字节为单位)
主要快照中对象的大小,排除对象中包含的对象的大小。
对于类型,“大小(以字节为单位)”和“非独占大小(以字节为单位)”为类型实例的总大小。
总大小差异(以字节为单位)
对于类型,则为主要快照和上一个快照之间的类型实例总大小的差异,排除实例中包含的对象的大小。
对于实例,字段是空白的。
非独占大小(以字节为单位)
主要快照中对象的大小,其中包括对象中包含的对象的大小。
非独占大小差异(以字节为单位)
对于类型,则为主要快照和上一个快照之间的所有类型实例大小的差异,其中包括对象中包含的对象的大小。
对于实例,字段是空白的。
“根路径树”显示引用类型或实例的对象链。
.NET Framework 垃圾回收器仅在释放对某个对象的所有引用后清理该对象的内存。
“引用对象”树显示主要类型的对象或实例引用的对象。
对象类型/实例
类型或对象实例的名称。
大小(以字节为单位)
对于实例,则为主要快照中的对象大小,排除该实例中包含的对象大小。
对于类型,则为主要快照中类型实例的总大小,排除实例中包含的对象的大小。
非独占大小(以字节为单位)
主要快照中对象的大小,其中包括对象中包含的对象的大小。
不是 IT 专业人员?
Microsoft 正在进行一项网上调查,以了解您对 网站的意见。如果您选择参加,我们将会在您离开 网站时向您显示该网上调查。是否要参加? 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
VB内存读写的写法以及技巧
下载积分:300
内容提示:VB内存读写的写法以及技巧
文档格式:PDF|
浏览次数:138|
上传日期: 14:40:12|
文档星级:
该用户还上传了这些文档
VB内存读写的写法以及技巧.PDF
道客巴巴认证
机构认证专区
加  展示
享受成长特权
官方公共微信vb.net new关键字分配内存问题,急急急!!!_百度知道
vb.net new关键字分配内存问题,急急急!!!
小弟不胜感激?如果存在如下面一过程,那么怎样释放,是释放掉还是仍然是存在!,所以想问一下每次New的时候,前一次的内存会出现怎样的情况:Public sub test()
Dim aa as ArrayList
aa = New ArrayListEnd sub因为上面一个过程要不停的循环执行,所以肯定不停的New? 如果不释放是不是内存继续增加?请高手指点一下
提问者采纳
....,是自动释放....:
aa = New ArrayList可以合并放在循环体内如
Do While ...内存不会增加..
Dim aa As New ArrayList
,重新定义New ArrayList后集合aa原值所占空间自动释放实际上 Dim aa as ArrayList
如果将声明放在函数体外,结果还是一样吗?Public aa as ArrayListPublic sub test()
aa = New ArrayListEnd sub
知道你的意图了。这样写
Public aa As New ArrayList
Public Sub test()
aa.Clear()
其他类似问题
内存的相关知识
其他1条回答
是自动释放,内存不是继续增加
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VB.Net调用API函数减少内存占用的方法--超音速工作室
数据载入中,请稍等...
数据载入中,请稍等...
数据载入中,请稍等...
数据载入中,请稍等...
数据载入中,请稍等...
数据载入中,请稍等...
VB.Net调用API函数减少内存占用的方法
声明如下函数Private Declare Auto Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean
创建一个过程Public Sub SetProcessWorkingSetSize()TryDim Mem As ProcessMem = Process.GetCurrentProcess()SetProcessWorkingSetSize(Mem.Handle, -1, -1)Catch ex As ExceptionMsgBox(ex.ToString)End TryEnd Sub调用这个过程后你就会发现,你的程序占用的内存变小了
调用方法:在做完占资源的事后使用,比如webbrowser,在他WebBrowser1_DocumentCompleted里面加入效果最好!
SetProcessWorkingSetSize()
打开来,至少减少了40%内存占用量!爆强
最好用的办法,建一个timer控件,或已有timer控件,在timer事件中加入SetProcessWorkingSetSize()这样你的程序再大也就是几百K内存了!注意timer在formload时一定要enable哦!但是还没有仔细测试过,不知道会不会影响进程!
发表评论:
Copyright & 超音速工作室                                 生活因感动而精彩,理想在创造中放飞您还未登陆,请登录后操作!
在VB程序里为什么会出现“运行时错误7 超出内存”的错误呢?俺没有打开大文件、数据咯
程序里为什么会出现&运行时错误7 超出内存&的错误呢?俺没有打开大文件、数据咯,我是做了一个多文档应用程序,在打开子窗提时经常出现该错误,没有规律性,不站点该怎么办咯,郁闷,谢谢解答 急
(内存条)问题,在其他的程序运行,尤其是一些大的游戏时没有问题吗
您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注
<a href="/b/.html" target="_blank" title="一道VB题 private sub command1_click
n=text1.text
select case n
case 1 to 20
case is 一道VB题 private sub co...}

我要回帖

更多关于 vb内存 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信