System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种客户端检测页面渲染卡顿的方法技术_技高网

一种客户端检测页面渲染卡顿的方法技术

技术编号:42683231 阅读:3 留言:0更新日期:2024-09-10 12:32
本发明专利技术特别涉及一种客户端检测页面渲染卡顿的方法。该客户端检测页面渲染卡顿的方法,客户端对系统的统一渲染方法onDraw进行拦截处理在页面渲染的前后分别写入日志,记录时间戳;比较面渲染的前后的时间戳差值,判断页面渲染时是否发生了卡顿;对发生卡顿的情况进行处理,输入堆栈信息,分析程序发送卡顿的位置,并进行修改。该客户端检测页面渲染卡顿的方法,不仅能在开发调试过程中及时发现卡顿现象,还能迅速定位到发生卡顿的具体页面及程序位置,以便进行优化。

【技术实现步骤摘要】

本专利技术涉及计算机应用,特别涉及一种客户端检测页面渲染卡顿的方法


技术介绍

1、客户端在开发时,由于业务复杂或项目周期紧张,容易导致在开发过程中写入复杂的控件层级,或是书写不规范导致渲染效率低下,引发系统在渲染界面时发生卡顿的情况,导致程序页面不流畅、用户体验感下降。

2、目前开发过程中使用的方法多为用户在具体页面中记录过多日志来监听当前页面是否超时,从而判断此页面是否发生了卡顿,没有对页面的渲染时机进行统一监听处理。

3、这种方法存在明显的弊端:

4、1).不完整,应用程序中记录日志的页面可以判断出是否发生了卡顿,其他没有记录日志的页面则发现不了卡顿问题。

5、2).日志过多:由于业务功能累积,页面会日益递增,会导致日志越来越庞大,代码臃肿不清晰。

6、3).开发成本高:新开发的每一个页面都需要进行检测,会导致因日志造成开发时间浪费。

7、基于上述情况,本专利技术提出了一种客户端检测页面渲染卡顿的方法。


技术实现思路

1、本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的客户端检测页面渲染卡顿的方法。

2、本专利技术是通过如下技术方案实现的:

3、一种客户端检测页面渲染卡顿的方法,其特征在于:包括以下步骤:

4、步骤s1、客户端对系统的统一渲染方法ondraw进行拦截处理;

5、步骤s2、在页面渲染的前后分别写入日志,记录时间戳;比较面渲染的前后的时间戳差值,判断页面渲染时是否发生了卡顿;

6、步骤s3、对发生卡顿的情况进行处理,输入堆栈信息,分析程序发送卡顿的位置,并进行修改。

7、所述步骤s1中,客户端利用面向切面编程aop对系统的统一渲染方法ondraw进行拦截处理。

8、所述步骤s2中,配置开关标识,在拦截到的统一渲染方ondraw()执行前记录一个当前时间t1,执行之后再记录一个当前时间t2,如果时间t2与t1之间的差值大于1s,则认为发生了卡顿。

9、所述步骤s3中,当检测到页面发生了卡顿时,使用looper.getmainlooper().getthread().getstacktrace()方法获取当前的堆栈信息,输出此时客户端进程的堆栈信息,进而根据堆栈中的信息精准定位到发生卡顿的程序编码位置,进行分析修改。

10、一种客户端检测页面渲染卡顿的系统,其特征在于:包括统一拦截模块,卡顿检测模块和卡顿处理模块;

11、所述统一拦截模块用于在客户端对系统的统一渲染方法ondraw进行拦截处理;

12、所述卡顿检测模块负责在页面渲染的前后分别写入日志,记录时间戳,通过比较面渲染的前后的时间戳差值,判断页面渲染时是否发生了卡顿;

13、所述卡顿处理模块负责对发生卡顿的情况进行处理,输入堆栈信息,分析程序发送卡顿的位置,并进行修改。

14、所述统一拦截模块利用面向切面编程aop对系统的统一渲染方法ondraw进行拦截处理。

15、所述卡顿检测模块配置有开关标识,在拦截到的统一渲染方ondraw()执行前记录一个当前时间t1,执行之后再记录一个当前时间t2,如果时间t2与t1之间的差值大于1s,则认为发生了卡顿。

16、当检测到页面发生了卡顿时,所述卡顿处理模块使用looper.getmainlooper().getthread().getstacktrace()方法获取当前的堆栈信息,输出此时客户端进程的堆栈信息,进而根据堆栈中的信息精准定位到发生卡顿的程序编码位置,进行分析修改。

17、一种客户端检测页面渲染卡顿的设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现上述的方法步骤。

18、一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。

19、本专利技术的有益效果是:该客户端检测页面渲染卡顿的方法,不仅能在开发调试过程中及时发现卡顿现象,还能迅速定位到发生卡顿的具体页面及程序位置,以便进行优化。

本文档来自技高网...

【技术保护点】

1.一种客户端检测页面渲染卡顿的方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的客户端检测页面渲染卡顿的方法,其特征在于:所述步骤S1中,客户端利用面向切面编程AOP对系统的统一渲染方法onDraw进行拦截处理。

3.根据权利要求2所述的客户端检测页面渲染卡顿的方法,其特征在于:所述步骤S2中,配置开关标识,在拦截到的统一渲染方onDraw()执行前记录一个当前时间T1,执行之后再记录一个当前时间T2,如果时间T2与T1之间的差值大于1s,则认为发生了卡顿。

4.根据权利要求1所述的客户端检测页面渲染卡顿的方法,其特征在于:所述步骤S3中,当检测到页面发生了卡顿时,使用Looper.getMainLooper().getThread().getStackTrace()方法获取当前的堆栈信息,输出此时客户端进程的堆栈信息,进而根据堆栈中的信息精准定位到发生卡顿的程序编码位置,进行分析修改。

5.一种客户端检测页面渲染卡顿的系统,其特征在于:包括统一拦截模块,卡顿检测模块和卡顿处理模块;

6.根据权利要求5所述的客户端检测页面渲染卡顿的方法,其特征在于:所述统一拦截模块利用面向切面编程AOP对系统的统一渲染方法onDraw进行拦截处理。

7.根据权利要求6所述的客户端检测页面渲染卡顿的方法,其特征在于:所述卡顿检测模块配置有开关标识,在拦截到的统一渲染方onDraw()执行前记录一个当前时间T1,执行之后再记录一个当前时间T2,如果时间T2与T1之间的差值大于1s,则认为发生了卡顿。

8.根据权利要求5所述的客户端检测页面渲染卡顿的方法,其特征在于:当检测到页面发生了卡顿时,所述卡顿处理模块使用Looper.getMainLooper().getThread().getStackTrace()方法获取当前的堆栈信息,输出此时客户端进程的堆栈信息,进而根据堆栈中的信息精准定位到发生卡顿的程序编码位置,进行分析修改。

9.一种客户端检测页面渲染卡顿的设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至4任意一项所述的方法步骤。

10.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任意一项所述的方法步骤。

...

【技术特征摘要】

1.一种客户端检测页面渲染卡顿的方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的客户端检测页面渲染卡顿的方法,其特征在于:所述步骤s1中,客户端利用面向切面编程aop对系统的统一渲染方法ondraw进行拦截处理。

3.根据权利要求2所述的客户端检测页面渲染卡顿的方法,其特征在于:所述步骤s2中,配置开关标识,在拦截到的统一渲染方ondraw()执行前记录一个当前时间t1,执行之后再记录一个当前时间t2,如果时间t2与t1之间的差值大于1s,则认为发生了卡顿。

4.根据权利要求1所述的客户端检测页面渲染卡顿的方法,其特征在于:所述步骤s3中,当检测到页面发生了卡顿时,使用looper.getmainlooper().getthread().getstacktrace()方法获取当前的堆栈信息,输出此时客户端进程的堆栈信息,进而根据堆栈中的信息精准定位到发生卡顿的程序编码位置,进行分析修改。

5.一种客户端检测页面渲染卡顿的系统,其特征在于:包括统一拦截模块,卡顿检测模块和卡顿处理模块;

6.根据权利要求5所述的客户端检测页面渲染卡顿的方法,其特征在于:所述统...

【专利技术属性】
技术研发人员:张运江张连超于富昌孙彪
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:

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

1