CN107832203B - 一种移动终端渲染性能诊断方法 - Google Patents
一种移动终端渲染性能诊断方法 Download PDFInfo
- Publication number
- CN107832203B CN107832203B CN201711088715.7A CN201711088715A CN107832203B CN 107832203 B CN107832203 B CN 107832203B CN 201711088715 A CN201711088715 A CN 201711088715A CN 107832203 B CN107832203 B CN 107832203B
- Authority
- CN
- China
- Prior art keywords
- rendering
- control
- performance
- interface
- rcs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/24—Arrangements for testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种移动终端渲染性能问题诊断方法。通过修改Android平台获得界面控件的渲染数据。在修改后的Android平台上运行大量的应用程序获得大量数据后训练一个贝叶斯网络模型,该模型将渲染特征与渲染性能指标对应起来。针对特定的应用程序的特定界面,将渲染数据输入该模型,用特定的方法计算界面中控件对页面渲染性能的贡献值,找到对界面渲染性能影响最大的控件。本方法的优点在于:可以有效、准确的诊断移动终端中应用程序产生的渲染性能问题。
Description
技术领域
本发明涉及一种移动终端渲染性能问题诊断方法,特别是面向应用开发者的针对终端应用程序的渲染性能定位方法。
背景技术
近年来,随着移动设备和移动应用程序数量的增长迅速,用户花在移动应用程序上的时间也不断增加。移动应用程序在一次用户操作后产生响应叫做一次交互,完成交互逻辑并绘制所有界面所需的时间叫做响应时间。一般一次用户交互所需时间在几秒内。由于移动应用程序的交互响应时间与终端用户的体验直接相关,因此近年来在学术界和工业界都引起了非常广泛的重视。国内外研究者在此方面开展了较为深入而广泛的研究,近年来已出现了许多针对交互响应时间的深入研究。
过去的关于移动应用程序响应时间的研究主要将目光放在网络访问、IO请求等重量级操作上。例如,Applnsight利用二进制插桩技术跟踪用户操作在应用程序内的行为,然后通过分析关键执行路径得到导致性能问题的根本原因。由于存储的IO访问会导致较长时间的延迟(delay),因此有许多工作关注在测量和优化存储的IO访问时间。例如H.Kim等人通过分析移动设备的存储***,发现存储***的设计与移动应用程序的性能存在正相关的关系,并在此基础上提出了一系列的方案,用于解决存储IO导致的性能问题。但是,这些工作都没有涉及到移动应用程序响应过程中的界面绘制过程。在我们的发现中,对于时间较短的用户交互过程,界面绘制所需的时间占整个交互响应过程相当大的一部分此重。显然,定位并优化渲染过程中的性能问题也是提高移动应用程序的关键之一。
发明内容
本发明要克服现有技术的上述缺点,针对移动应用程度的用户交互过程中的渲染过程,提供一种定位和诊断渲染问题的方法。
为实现以上目的,本发明所采取的技术方案是:该移动终端性能诊断方法,包括以下步骤:
1)修改Android的framework代码,使得在应用程序运行时能够获得每个控件的渲染相关信息。
2)在修改的Android平台上运行大量的应用程序,收集这些应用程序运行获得的渲染信息,并利用这些数据构造一个贝叶斯网络。
3)利用构造的贝叶斯网络,对特定应用程序的特定渲染界面的每个控件进行计算,得到一个该控件对整个界面渲染时间的贡献值渲染性能系数(RCS)。通过对所有控件按RCS进行排序,得到对特定应用程序的特定界面渲染性能影响最大的控件。开发者可以在此基础上对该应用程序进行深入的优化。
优选地,步骤1)中所述的对Android Framework修改获得到的渲染相关数据包括:
1.1每个控件的相关数据。此处的控件是Android平台上界面控件的基本元素,所有的界面都由多个控件构成。这些数据包括控件的唯一id,控件的大小,控件的位置。
1.2控件的层次关系。Android平台的界面是树状结构,控件之间存在层次关系。通过获得父控件的标识符id可以重新构造出当前界面所有控件的层次关系。
1.3渲染的操作和时序。包括测量measure、布局layout、绘制draw三个操作的耗时。
1.4用户操作的相关数据。包括点击、滑动等操作的开始时间,以及***的FPS帧率。
优选地,步骤2)中所述的贝叶斯网络的构造方法:
2.1贝叶斯网络是一个有向无环图,该图的节点包括两种类型:渲染特征rendering features节点以及性能指标performance metric节点。渲染特征我们用f1到fN表示,即N个渲染特征;性能指标我们用p1和p2表示,即两个性能指标。
2.2我们用corr(fi,fj)表示特征i与特征j的相关系数,用corr(fi,pj)表示特征i与性能指标j的相关系数,这在贝叶斯网络中表现为节点间的边的权重。
2.3得到贝叶斯网络后,我们进一步计算渲染特征i对性能指标j的贡献值sig(fi,pj)。
优选地,步骤3)中所述的渲染性能系数RCS的计算方法,具体是:
3.1我们用con(vi,fj)表示一个控件对特征j的贡献值。对于不同的特征有不同的计算方法。
3.2基于2.3中的sig(fi,pj)和3.1中的con(vi,fj),我们提出了计算特定控件的渲染性能系数(RCS)值RCS(vi)的计算方法:
3.3利用步骤3.2中得到的渲染性能系数RCS,我们对特定界面的所有控件元素进行计算,并按照渲染性能系数RCS排序,得分较高的即对界面的渲染性能影响较大,应该被开发者重点注意和优化。
与现有技术相此,本发明的有益效果是:该方法通过大量的数据训练贝叶斯网络模型,将控件的渲染数据与最终界面的渲染性能对应起来;开发者可以利用该方法精确地定位到引起界面渲染性能下降的UI组件,提高开发和问题定位的效率。
附图说明
图1是本发明的方法框架图
具体实施方式
下面结合附图对本发明的一种移动终端性能诊断方法的实施进行详细说明,其步骤如下:
1.对Android Framework修改的方法以及获得到的渲染相关数据如下:
1.1.对Android Framework的修改是指对源代码View.java和Choreographer.java文件进行修改,在相关函数处***代码输出时间与相关的数据。修改过的Framework进行编译后,生成framework.jar文件,通过adb工具上传到Android设备上,并替换掉原有的framework.jar。重启设备,即完成了Android平台的修改。
1.2.在修改过的Android平台上运行,可以获得的数据包括以下类型:
1.2.1.每个控件的相关数据。此处的控件是Android平台上界面控件的基本元素,所有的界面都由多个控件构成。这些数据包括控件的唯一id,控件的大小,控件的位置。
1.2.2.控件的层次关系。Android平台的界面是树状结构,控件之间存在层次关系。通过获得父控件的标识符id可以重新构造出当前界面所有控件的层次关系。
1.2.3.渲染的操作和时序。包括measure、layout、draw三个操作的耗时。
1.2.4.用户操作的相关数据。包括点击、滑动等操作的开始时间,以及***的FPS帧率。
2.步骤2)中所述的贝叶斯网络的构造方法如下:
2.1.贝叶斯网络是一个有向无环图,该图的节点包括两种类型:渲染特征rendering features节点以及性能指标performance metric节点。渲染特征我们用f1到fN表示,即N个渲染特征;性能指标我们用p1和p2表示,即两个性能指标。
2.1.1.渲染特征是由步骤1.2中获得的界面控件渲染数据经过处理得来的。具体的渲染特征如表格1所示。
表格1
2.2.我们用corr(fi,fj)表示特征i与特征j的相关系数,用corr(fi,pj)表示特征i与性能指标j的相关系数,这在贝叶斯网络中表现为节点间的边的权重。
2.3.得到贝叶斯网络后,我们进一步计算渲染特征i对性能指标j的贡献值sig(fi,pj)。计算方法为将该节点i到渲染性能节点j路径上所有的边的权重加起来,即得到该贡献值。
3.步骤3)中所述的渲染性能系数RCS的计算方法
3.1.我们用con(vi,fj)表示一个控件对特征j的贡献值。对于不同的特征有不同的计算方法。例如,对于“空点数量”这个特征,所有的控件的是1,而对于“绘制操作的最大执行时间”这个特征,绘制时间达到最大绘制时间的控件的贡献值为1/m,其中m为绘制时间达到最大绘制时间的控件数;而绘制时间小于最大绘制时间的控件的贡献值为0。
3.2.基于2.3中的渲染特征贡献值sig(fi,pj)和3.1中的控件特征贡献值con(vi,fj),我们提出了计算特定控件的渲染性能系数RCS值RCS(vi)的计算方法:
3.3.利用32.中得到的渲染性能系数RCS,我们对特定界面的所有控件元素进行计算,并按照渲染性能系数RCS排序,得分较高的即对界面的渲染性能影响较大,应该被开发者重点注意和优化。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (1)
1.移动终端渲染性能诊断方法,包括以下步骤:
1)修改Android的framework代码,使得在应用程序运行时能够获得每个控件的渲染相关信息,具体包括:
1.1每个控件的相关数据;此处的控件是Android平台上界面控件的基本元素,所有的界面都由多个控件构成;这些数据包括控件的唯一id,控件的大小,控件的位置;
1.2控件的层次关系;Android平台的界面是树状结构,控件之间存在层次关系;通过获得父控件的标识符(id)可以重新构造出当前界面所有控件的层次关系;
1.3渲染的操作和时序;包括测量(measure)、布局(layout)、绘制(draw)三个操作的耗时;
1.4用户操作的相关数据;包括点击、滑动的操作的开始时间,以及***的FPS帧率;
2)在修改的Android平台上运行大量的应用程序,收集这些应用程序运行获得的渲染信息,并利用这些数据构造一个贝叶斯网络;贝叶斯网络的构造方法具体是:
2.1贝叶斯网络是一个有向无环图,该图的节点包括两种类型:渲染特征renderingfeatures节点以及性能指标performance metric节点;渲染特征用f1到fN表示,即N个渲染特征;性能指标用p1和p2表示,即两个性能指标;
2.2用corr(fi,fj)表示特征i与特征j的相关系数,用corr(fi,pj)表示特征i与性能指标j的相关系数,这在贝叶斯网络中表现为节点间的边的权重;
2.3得到贝叶斯网络后,进一步计算渲染特征i对性能指标j的贡献值sig(fi,pj);
3)利用构造的贝叶斯网络,对特定应用程序的特定渲染界面的每个控件进行计算,得到一个该控件对整个界面渲染时间的贡献值渲染性能系数(RCS);通过对所有控件按RCS进行排序,得到对特定应用程序的特定界面渲染性能影响最大的控件;渲染性能系数(RCS)的计算方法,具体是:
3.1用con(vi,fj)表示一个控件对特征j的贡献值;对于不同的特征有不同的计算方法;
3.2基于2.3中的sig(fi,pj)和3.1中的con(vi,fj),提出了计算特定控件的渲染性能系数(RCS)值RCS(vi)的计算方法:
3.3利用步骤3.2中得到的渲染性能系数RCS,对特定界面的所有控件元素进行计算,并按照渲染性能系数RCS排序,得分较高的即对界面的渲染性能影响较大,应该被开发者重点注意和优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711088715.7A CN107832203B (zh) | 2017-11-08 | 2017-11-08 | 一种移动终端渲染性能诊断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711088715.7A CN107832203B (zh) | 2017-11-08 | 2017-11-08 | 一种移动终端渲染性能诊断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832203A CN107832203A (zh) | 2018-03-23 |
CN107832203B true CN107832203B (zh) | 2020-11-13 |
Family
ID=61654675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711088715.7A Active CN107832203B (zh) | 2017-11-08 | 2017-11-08 | 一种移动终端渲染性能诊断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832203B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287255B (zh) * | 2020-07-13 | 2024-02-09 | 上海柯林布瑞信息技术有限公司 | 页面构建方法及装置、计算设备、计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775710A (zh) * | 2016-12-14 | 2017-05-31 | 杭州长亮金融信息服务有限公司 | 基于智能设备的跨平台界面交互开发***及其运行方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122168A (zh) * | 2010-10-01 | 2017-09-01 | Z124 | 多操作*** |
-
2017
- 2017-11-08 CN CN201711088715.7A patent/CN107832203B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775710A (zh) * | 2016-12-14 | 2017-05-31 | 杭州长亮金融信息服务有限公司 | 基于智能设备的跨平台界面交互开发***及其运行方法 |
Non-Patent Citations (1)
Title |
---|
安卓应用软件测试信息智能监测***设计;蔡娟 等;《现代电子技术》;20170715;第40卷(第14期);58-63 * |
Also Published As
Publication number | Publication date |
---|---|
CN107832203A (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alipourfard et al. | {CherryPick}: Adaptively unearthing the best cloud configurations for big data analytics | |
US8578348B2 (en) | System and method of cost oriented software profiling | |
US10013656B1 (en) | Methods and apparatus for analytical processing of provenance data for HPC workflow optimization | |
CN108664269A (zh) | 一种基于深度学习的特征依恋代码异味检测方法 | |
JP2021118000A (ja) | アイテム推奨方法、システム、プログラム、電子機器及び記憶媒体 | |
JP2021064348A (ja) | ユーザークリックモデルのトレーニング方法、装置、電子機器、及び記憶媒体 | |
CN107316200B (zh) | 一种分析用户行为周期的方法和装置 | |
CN111506504B (zh) | 基于软件开发过程度量的软件安全性缺陷预测方法及装置 | |
Wu et al. | A deadline-aware estimation of distribution algorithm for resource scheduling in fog computing systems | |
Song et al. | Personalized optimization for android smartphones | |
CN109783459A (zh) | 从日志中提取数据的方法、装置及计算机可读存储介质 | |
US20090182994A1 (en) | Two-level representative workload phase detection method, apparatus, and computer usable program code | |
Ilkhani et al. | Extraction test cases by using data mining; reducing the cost of testing | |
CN107832203B (zh) | 一种移动终端渲染性能诊断方法 | |
CN109101414B (zh) | 基于埋点数据的海量ui测试生成方法及其装置 | |
CN106776757A (zh) | 用户完成网银操作的指示方法及装置 | |
CN108270833A (zh) | 渲染云资源的自动调度方法、装置及*** | |
CN112783747B (zh) | 一种应用程序的执行时间预测方法及装置 | |
CN112463378B (zh) | 一种服务器资产扫描方法、***、电子设备及存储介质 | |
CN113627513A (zh) | 一种训练数据生成方法、***、电子设备及存储介质 | |
CN108564135B (zh) | 构建骨架程序并实现高性能计算程序运行时间预测的方法 | |
Ottlik et al. | Trace-based context-sensitive timing simulation considering execution path variations | |
Walk et al. | Sequential usage patterns in collaborative ontology-engineering projects | |
CN111008140A (zh) | 一种跨平台的ui自动化测试方法及装置 | |
Jofri et al. | A survey on energy-aware profiler for mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |