System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种浏览器页面内存占用瓶颈定位方法技术_技高网

一种浏览器页面内存占用瓶颈定位方法技术

技术编号:40836206 阅读:4 留言:0更新日期:2024-04-01 15:00
本发明专利技术涉及一种浏览器页面内存占用瓶颈定位方法,具体涉及网页端JS堆占用情况领域,通过初始化不同简单数据类型和字符占用内存变量对象,能够获取内存占用的统计结果,并根据统计结果进行优化和调整,减少内存占用,利用递归函数将复杂问题分解为更简单的子问题,使得解决方案更加模块化和可管理,有助于浏览器页面内存的可维护性,利用遍历键值对的循环迭代进行类型判断,构建起完整的数据结构,使得数据的整合和处理更加方便和高效,避免在浏览器页面内存运行过程中出现类型错误和非预期的行为,从而提高浏览器页面的健壮性,利用输出内存占用结果分析视图帮助开发人员分析页面的内存占用情况,定位内存瓶颈,并进行优化。

【技术实现步骤摘要】

本专利技术涉及网页端js堆占用情况领域,更具体地说,本专利技术涉及一种浏览器页面内存占用瓶颈定位方法


技术介绍

1、随着浏览器页面的发展,页面内存占用的问题越来越受到关注,随着页面功能的增加,数据量的增加和用户交互的增加,页面内存占用的问题也越来越突出。

2、页面内存占用过高会导致页面加载缓慢、响应时间延长,甚至可能导致页面崩溃和卡顿,页面内存占用过高导致设备性能下降、耗电量增加的问题,并增加网络传输成本和用户的流量消耗。

3、根据统计结果进行优化和调整,减少内存占用,利用递归函数将复杂问题分解为更简单的子问题,有助于浏览器页面内存的可维护性,避免在浏览器页面内存运行过程中出现类型错误和非预期的行为,提高浏览器页面的健壮性。


技术实现思路

1、本专利技术针对现有技术中存在的技术问题,提供一种浏览器页面内存占用瓶颈定位方法,通过输出内存占用结果分析视图帮助开发人员分析页面的内存占用情况,定位内存瓶颈,并进行优化,以解决上述
技术介绍
中提出的问题。

2、本专利技术解决上述技术问题的技术方案如下:一种浏览器页面内存占用瓶颈定位方法,包括以下步骤:

3、s101.准备好程序源码和内存占用sdk,在程序源码中引入内存占用sdk,并初始化不同简单数据类型和字符占用内存变量对象;

4、s102.定义递归函数,将接收变量作为参数,并对其进行递归操作,用于函数内部对输入的参数进行重复的操作;

5、s103.遍历源对象的每个键值对,利用for循环通过迭代器遍历对象的每个键值对,对于每个键值对,获取键和值,并进行类型判断;

6、s104.遍历计算结果,获取存储内存大小结果的字典以及数据结构,通过设置reverse参数控制按照从大到小的顺序进行排序,按照排序后的结果逐行输出,形成表格和报告的形式;

7、在一个优选地实施方式中,所述s101中,安装浏览器以及vscode代码编辑器,并准备好程序源码和内存占用sdk,在程序源码中引入内存占用sdk,并进行初始化,所述初始化利用init作为内存占用sdk的初始化方法,输入apikey和environment作为初始化函数,用于替换用户的实际api密钥,根据ecmascript规范,定义不同数据类型的内存占用值,包括cma_sizes.string、ecma_sizes.boolean、ecma_sizes.number,输入浏览器全局对象window,所述浏览器全局对象window指javascript中的全局对象,代表浏览器窗口,包括浏览器窗口的各种属性和方法,其中包含浏览器窗口的尺寸、地址栏信息、文档对象,使用javascript中的for in函数遍历目标变量对象,用于获取变量的类型和值,根据变量的类型和值,使用定义后的内存占用值获取变量的内存占用大小,对于字符串类型,其中每个字符占用2个字节,内存占用大小=字符串长度*2,对于数字类型,其中数字类型占用8个字节,内存占用大小=8,对于布尔值类型,其中布尔值类型占用4个字节,内存占用大小=4,记录变量的类型、值和占用内存大小,对记录的数据进行分析和整理,分析类型的数据占用内存较多,将同一类型的数据进行归类和汇总,得出内存占用的统计结果,并根据统计结果进行优化和调整,减少内存占用。

8、在一个优选地实施方式中,所述s102中,定义递归函数,用于函数内部调用自身的函数,该函数将接收变量作为参数,并对其进行递归操作,用于函数内部对输入的参数进行重复的操作,所述递归函数应包含递归的终止条件以及递归调用自身的情况,所述递归的终止条件为变量为空以及达到特定状态的情况,其中特定状态对于浏览器列表为空时以及对于浏览器树结构达到叶子节点时,达到终止条件,函数执行返回操作,对传入变量的子结构进行递归操作,通过对变量的属性进行遍历,并对每个属性进行递归调用,调用递归函数,并将传入的变量作为参数传递给递归函数。

9、在一个优选地实施方式中,所述s103中,遍历源对象的每个键值对,其中源对象的每个键值对包括键和对应的值,利用for循环通过迭代器遍历对象的每个键值对,对于每个键值对,获取键和值,并进行类型判断,其是否为简单数据类型和二进制数据类型,当是简单数据类型和二进制数据类型时,对当前键值进行内存大小计算,将计算结果添加到目标对象对应的键值下,具体内存大小计算步骤为:对于int数据类型,利用int.bit_length()返回整数的二进制表示位数并除以8,用于获取内存字节大小,对于float数据类型,直接认为其占用8个字节的内存大小,对于str数据类型,利用str.encode('utf-8')将字符串编码为字节串,用于获取内存字节大小,对于二进制数据类型,利用len(bytes_data)获取字节串的长度作为内存大小,对于复杂类型的数据,调用s102中递归函数进行递归执行上述步骤。

10、在一个优选地实施方式中,所述s104中,遍历计算结果,将键值对转换为展示的格式,获取存储内存大小结果的字典以及数据结构,使用循环遍历字典中的每个键值对,在每次循环中,获取当前键值对的键和对应的内存大小,通过字符串格式化和拼接方法将键和内存大小转换为字符串格式,使用sorted函数对转换后的列表进行排序,通过key参数来指定排序的依据,所述依据为按照每个字符串中的内存大小进行排序,通过设置reverse参数控制按照从大到小的顺序进行排序,按照排序后的结果逐行输出,形成表格和报告的形式,使用了字符串的ljust和rjust方法对齐输出的内容。

11、本专利技术的有益效果是:通过初始化不同简单数据类型和字符占用内存变量对象,能够获取内存占用的统计结果,并根据统计结果进行优化和调整,减少内存占用,利用递归函数将复杂问题分解为更简单的子问题,使得解决方案更加模块化和可管理,有助于浏览器页面内存的可维护性,利用遍历键值对的循环迭代进行类型判断,构建起完整的数据结构,使得数据的整合和处理更加方便和高效,避免在浏览器页面内存运行过程中出现类型错误和非预期的行为,从而提高浏览器页面的健壮性,利用输出内存占用结果分析视图帮助开发人员分析页面的内存占用情况,定位内存瓶颈,并进行优化。

本文档来自技高网...

【技术保护点】

1.一种浏览器页面内存占用瓶颈定位方法,其特征在于,具体包括以下步骤:

2.根据权利要求1所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:所述S101中,安装浏览器以及Vscode代码编辑器,并准备好程序源码和内存占用SDK,在程序源码中引入内存占用SDK,并进行初始化,所述初始化利用init作为内存占用SDK的初始化方法,输入apiKey和environment作为初始化函数,用于替换用户的实际API密钥,根据ECMAScript规范,定义不同数据类型的内存占用值,包括CMA_SIZES.STRING、ECMA_SIZES.BOOLEAN、ECMA_SIZES.NUMBER,输入浏览器全局对象window,所述浏览器全局对象window指javaScript中的全局对象,代表浏览器窗口,包括浏览器窗口的各种属性和方法,其中包含浏览器窗口的尺寸、地址栏信息、文档对象,使用javaScript中的for in函数遍历目标变量对象,用于获取变量的类型和值,根据变量的类型和值,使用定义后的内存占用值获取变量的内存占用大小。

3.根据权利要求2所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:根据变量的类型和值,并获取变量的内存占用大小的步骤为:对于字符串类型,其中每个字符占用2个字节,内存占用大小=字符串长度*2,对于数字类型,其中数字类型占用8个字节,内存占用大小=8,对于布尔值类型,其中布尔值类型占用4个字节,内存占用大小=4,记录变量的类型、值和占用内存大小,对记录的数据进行分析和整理,分析类型的数据占用内存较多,将同一类型的数据进行归类和汇总,得出内存占用的统计结果,并根据统计结果进行优化和调整,减少内存占用。

4.根据权利要求1所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:所述S102中,定义递归函数,用于函数内部调用自身的函数,该函数将接收变量作为参数,并对其进行递归操作,用于函数内部对输入的参数进行重复的操作,所述递归函数应包含递归的终止条件以及递归调用自身的情况,所述递归的终止条件为变量为空以及达到特定状态的情况,其中特定状态对于浏览器列表为空时以及对于浏览器树结构达到叶子节点时,达到终止条件,函数执行返回操作,对传入变量的子结构进行递归操作,通过对变量的属性进行遍历,并对每个属性进行递归调用,调用递归函数,并将传入的变量作为参数传递给递归函数。

5.根据权利要求1所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:所述S103中,遍历源对象的每个键值对,其中源对象的每个键值对包括键和对应的值,利用for循环通过迭代器遍历对象的每个键值对,对于每个键值对,获取键和值,并进行类型判断,其是否为简单数据类型和二进制数据类型,当是简单数据类型和二进制数据类型时,对当前键值进行内存大小计算,将计算结果添加到目标对象对应的键值下。

6.根据权利要求1所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:具体内存大小计算步骤为:对于int数据类型,利用int.bit_length()返回整数的二进制表示位数并除以8,用于获取内存字节大小,对于float数据类型,直接认为其占用8个字节的内存大小,对于str数据类型,利用str.encode('utf-8')将字符串编码为字节串,用于获取内存字节大小,对于二进制数据类型,利用len(bytes_data)获取字节串的长度作为内存大小,对于复杂类型的数据,调用S102中递归函数进行递归执行上述步骤。

7.根据权利要求1所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:所述S104中,遍历计算结果,将键值对转换为展示的格式,获取存储内存大小结果的字典以及数据结构,使用循环遍历字典中的每个键值对,在每次循环中,获取当前键值对的键和对应的内存大小,通过字符串格式化和拼接方法将键和内存大小转换为字符串格式,使用sorted函数对转换后的列表进行排序,通过key参数来指定排序的依据,所述依据为按照每个字符串中的内存大小进行排序,通过设置reverse参数控制按照从大到小的顺序进行排序,按照排序后的结果逐行输出,形成表格和报告的形式,使用了字符串的ljust和rjust方法对齐输出的内容。

...

【技术特征摘要】

1.一种浏览器页面内存占用瓶颈定位方法,其特征在于,具体包括以下步骤:

2.根据权利要求1所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:所述s101中,安装浏览器以及vscode代码编辑器,并准备好程序源码和内存占用sdk,在程序源码中引入内存占用sdk,并进行初始化,所述初始化利用init作为内存占用sdk的初始化方法,输入apikey和environment作为初始化函数,用于替换用户的实际api密钥,根据ecmascript规范,定义不同数据类型的内存占用值,包括cma_sizes.string、ecma_sizes.boolean、ecma_sizes.number,输入浏览器全局对象window,所述浏览器全局对象window指javascript中的全局对象,代表浏览器窗口,包括浏览器窗口的各种属性和方法,其中包含浏览器窗口的尺寸、地址栏信息、文档对象,使用javascript中的for in函数遍历目标变量对象,用于获取变量的类型和值,根据变量的类型和值,使用定义后的内存占用值获取变量的内存占用大小。

3.根据权利要求2所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:根据变量的类型和值,并获取变量的内存占用大小的步骤为:对于字符串类型,其中每个字符占用2个字节,内存占用大小=字符串长度*2,对于数字类型,其中数字类型占用8个字节,内存占用大小=8,对于布尔值类型,其中布尔值类型占用4个字节,内存占用大小=4,记录变量的类型、值和占用内存大小,对记录的数据进行分析和整理,分析类型的数据占用内存较多,将同一类型的数据进行归类和汇总,得出内存占用的统计结果,并根据统计结果进行优化和调整,减少内存占用。

4.根据权利要求1所述的一种浏览器页面内存占用瓶颈定位方法,其特征在于:所述s102中,定义递归函数,用于函数内部调用自身的函数,该函数将接收变量作为参数,并对其进行递归操作,用于函数内部对输入的参数进行重复的操作,所述递归函数应包含递归的终止条件以及递归调用自身的情况,所述递归的终止条件为变量为空以及达...

【专利技术属性】
技术研发人员:于志杰
申请(专利权)人:北京白龙马云行科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1