CN103309810A - 应用程序的帧率检测方法和装置 - Google Patents

应用程序的帧率检测方法和装置 Download PDF

Info

Publication number
CN103309810A
CN103309810A CN2013102505345A CN201310250534A CN103309810A CN 103309810 A CN103309810 A CN 103309810A CN 2013102505345 A CN2013102505345 A CN 2013102505345A CN 201310250534 A CN201310250534 A CN 201310250534A CN 103309810 A CN103309810 A CN 103309810A
Authority
CN
China
Prior art keywords
application program
operating system
frame per
demonstration information
module
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.)
Granted
Application number
CN2013102505345A
Other languages
English (en)
Other versions
CN103309810B (zh
Inventor
冉放
鲁晓宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310250534.5A priority Critical patent/CN103309810B/zh
Publication of CN103309810A publication Critical patent/CN103309810A/zh
Application granted granted Critical
Publication of CN103309810B publication Critical patent/CN103309810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提出一种应用程序的帧率检测方法和装置,其中该方法包括以下步骤:在移动终端中运行应用程序;通过移动终端中的操作系统获取显示应用程序的图形界面的显示信息;以及根据显示信息生成应用程序的帧率。根据本发明实施例方法,可通过操作系统获取显示应用程序的图形界面的显示信息,并根据显示信息生成应用程序的帧率,无需修改操作系统源码,无需修改应用程序源码,简化了检测过程,降低了检测成本。

Description

应用程序的帧率检测方法和装置
技术领域
本发明涉及移动设备制造技术领域,尤其涉及一种应用程序的帧率检测方法和装置。
背景技术
帧率表示图形处理器处理时,每秒钟能够更新的次数,高的帧率可以得到更流畅、更逼真的动画。目前,安卓Android平台的帧率检测方法主要有两种:
1)对于基于Android平台开发的自主操作系统,可修改Android系统源码,打开系统源码中帧率检测开关,从而对运行在该系统上的应用程序进行帧率检测;
2)可修改应用程序源码,在应用程序源码中编写帧率检测代码模块。
上述方法存在以下问题:
1)帧率检测开关存在于Android系统内核的内部调试版本,对于上市的移动终端这个帧率检测开关会被去除,因此,不能利用这个特性对运行在该移动终端上的应用程序进行帧率检测;
2)移动终端中的应用程序通常不会包含帧率检测代码模块,并且修改应用程序源码代价大,成本高。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种应用程序的帧率检测方法。该方法无需修改操作系统源码,无需修改应用程序源码,简化了检测过程,降低了检测成本。
本发明的第二个目的在于提出一种应用程序的帧率检测装置。
为了实现上述目的,本发明第一方面实施例的应用程序的帧率检测方法包括以下步骤:在移动终端中运行应用程序;通过所述移动终端中的操作系统获取显示所述应用程序的图形界面的显示信息;以及根据所述显示信息生成所述应用程序的帧率。
根据本发明实施例的应用程序的帧率检测方法,可通过操作系统获取显示应用程序的图形界面的显示信息,并根据显示信息生成应用程序的帧率,无需修改操作系统源码,无需修改应用程序源码,简化了检测过程,降低了检测成本。
为了实现上述目的,本发明第二方面实施例的应用程序的帧率检测装置,包括:加载模块,用于在移动终端中加载并运行应用程序;获取模块,用于通过所述移动终端中的操作系统获取显示所述应用程序的图形界面的显示信息;以及生成模块,用于根据所述显示信息生成所述应用程序的帧率。
根据本发明实施例的应用程序的帧率检测装置,可通过获取模块获取显示应用程序的图形界面的显示信息,并通过生成模块根据显示信息生成应用程序的帧率,无需修改操作系统源码,无需修改应用程序源码,简化了检测过程,降低了检测成本。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的应用程序的帧率检测方法的流程图;
图2是根据本发明一个实施例的应用程序的帧率检测装置的结构框图;
图3是根据本发明另一个实施例的应用程序的帧率检测装置的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考附图描述根据本发明实施例的应用程序的帧率检测方法和装置。
目前,Android平台的帧率检测方法主要有两种:第一种方法可修改Android系统源码,打开系统源码中帧率检测开关,从而对运行在该系统上的应用程序进行帧率检测,然而,对于上市的移动终端这个帧率检测开关被去除,因此,不能利用这个特性对运行在该移动终端上的应用程序进行帧率检测;第二种方法可修改应用程序源码,在应用程序源码中写帧率检测代码模块,而该方法需修改应用程序源码代价大,成本高。
为此,提出了一种应用程序的帧率检测方法,包括以下步骤:在移动终端中运行应用程序;通过移动终端中的操作系统获取显示应用程序的图形界面的显示信息;以及根据显示信息生成应用程序的帧率。
图1是根据本发明一个实施例的应用程序的帧率检测方法的流程图。
如图1所示,应用程序的帧率检测方法包括以下步骤。
S101,在移动终端中运行应用程序。
S102,通过移动终端中的操作系统获取显示应用程序的图形界面的显示信息。
在本发明的一个实施例中,操作系统可为Android操作系统。本领域的技术人员可以理解,操作系统还可以包括其他的操作系统。
在本发明的一个实施例中,可通过操作系统中的视图View组件中的顶层视图DecorView获取显示信息。具体地,在Android操作系统的框架层中,提供了View组件以作为显示图像的抽象容器,View组件可对显卡Framebuffer做一系列的显示操作,例如,读取、修改等,可通过Android操作系统注入式的自动化测试框架获取应用程序的操作权限,以获取View组件中的DecorView,并可通过DecorView获取显示应用程序的图形界面的显示信息,其中,显示信息可包括图片、文字等,显示信息还可包括图形界面的变化信息,例如,图形界面的重绘次数。
在本发明的一个实施例中,可设置监听模块,监听模块对DecorView的更新情况进行监听以获取显示信息。具体地,每当对DecorView进行重绘时,监听模块可以监听到这个事件,根据DecorView的更新情况以获取显示应用程序的图形界面的显示信息,例如,可以获取应用程序的图形界面的重绘次数。其中,监听模块可为一个事件监听器OnPreDrawListener。
S103,根据显示信息生成应用程序的帧率。
具体地,每当操作系统需要重绘应用程序的图形界面时,监听模块根据显示信息统计操作系统的重绘次数,每一次重绘意味着应用程序的图形界面又一次刷新,帧数加1,在一定时间内(例如,按秒数计算)帧数除以时间,得到这段时间应用程序的帧率,即FPS(Frame per Second)。例如,可设置一个事件监听器OnPreDrawListener,利用trackFPS方法计算出应用程序的帧率。
根据本发明实施例的应用程序的帧率检测方法,可通过操作系统获取显示应用程序的图形界面的显示信息,并根据显示信息生成应用程序的帧率,无需修改操作系统源码,无需修改应用程序源码,简化了检测过程,降低了检测成本。
为了实现上述实施例,本发明还提出一种应用程序的帧率检测装置。
一种应用程序的帧率检测装置,包括:加载模块,用于在移动终端中加载并运行应用程序;获取模块,用于通过移动终端中的操作系统获取显示应用程序的图形界面的显示信息;以及生成模块,用于根据显示信息生成应用程序的帧率。
图2是根据本发明一个实施例的应用程序的帧率检测装置的结构框图。
如图2所示,应用程序的帧率检测装置包括:加载模块100、获取模块200和生成模块300。
具体地,加载模块100用于在移动终端中加载并运行应用程序。
获取模块200用于通过移动终端中的操作系统获取显示应用程序的图形界面的显示信息。
在本发明的一个实施例中,操作系统可为Android操作系统。本领域的技术人员可以理解,操作系统还可以包括其他的操作系统。
在本发明的一个实施例中,可通过操作系统中的View组件中的DecorView获取显示信息。更具体地,在Android操作系统的框架层中,提供了View组件以作为显示图像的抽象容器,View组件可对显卡Framebuffer做一系列的显示操作,例如,读取、修改等,获取模块200可通过Android操作系统注入式的自动化测试框架获取应用程序的操作权限,以获取View组件中的DecorView,并可通过DecorView获取显示应用程序的图形界面的显示信息,其中,显示信息可包括图片、文字等,显示信息还可包括图形界面的变化信息,例如,图形界面的重绘次数。
生成模块300用于根据显示信息生成应用程序的帧率。更具体地,每当操作系统需要重绘应用程序的图形界面时,生成模块300根据显示信息统计操作系统的重绘次数,每一次重绘意味着应用程序的图形界面又一次刷新,帧数加1,在一定时间内(例如,按秒数计算)帧数除以时间,得到这段时间应用程序的帧率,即FPS。例如,可设置一个事件监听器OnPreDrawListener,利用trackFPS方法计算出应用程序的帧率。
根据本发明实施例的应用程序的帧率检测装置,可通过获取模块获取显示应用程序的图形界面的显示信息,并通过生成模块根据显示信息生成应用程序的帧率,无需修改操作系统源码,无需修改应用程序源码,简化了检测过程,降低了检测成本。
图3是根据本发明另一个实施例的应用程序的帧率检测装置的结构框图。
如图3所示,在图2所示实施例基础上应用程序的帧率检测装置还包括监听模块400。
具体地,监听模块400用于对DecorView进行监听以获取显示信息并发送至获取模块200。更具体地,每当对DecorView进行重绘时,监听模块400可以监听到这个事件,根据DecorView的更新情况以获取显示应用程序的图形界面的显示信息,例如,可以获取应用程序的图形界面的重绘次数。其中,监听模块可为一个事件监听器OnPreDrawListener。
根据本发明实施例的应用程序的帧率检测装置,可通过监听模块对DecorView进行监听以获取显示信息并发送至获取模块,进一步简化了检测过程,提高了检测结果的精确度。
应当理解,在本发明的实施例中,移动终端可以是手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (8)

1.一种应用程序的帧率检测方法,其特征在于,包括以下步骤:
在移动终端中运行应用程序;
通过所述移动终端中的操作系统获取显示所述应用程序的图形界面的显示信息;以及
根据所述显示信息生成所述应用程序的帧率。
2.如权利要求1所述的方法,其特征在于,通过所述操作系统中的View组件中的DecorView获取所述显示信息。
3.如权利要求2所述的方法,其特征在于,还包括:
设置监听模块,所述监听模块用于对所述DecorView进行监听以获取所述显示信息。
4.如权利要求1所述的方法,其特征在于,所述操作系统为Android操作系统。
5.一种应用程序的帧率检测装置,其特征在于,包括:
加载模块,用于在移动终端中加载并运行应用程序;
获取模块,用于通过所述移动终端中的操作系统获取显示所述应用程序的图形界面的显示信息;以及
生成模块,用于根据所述显示信息生成所述应用程序的帧率。
6.如权利要求5所述的装置,其特征在于,所述获取模块通过所述操作系统中的View组件中的DecorView获取所述显示信息。
7.如权利要求6所述的装置,其特征在于,还包括:
监听模块,所述监听模块用于对所述DecorView进行监听以获取所述显示信息并发送至所述获取模块。
8.如权利要求5所述的装置,其特征在于,所述操作系统为Android操作系统。
CN201310250534.5A 2013-06-21 2013-06-21 应用程序的帧率检测方法和装置 Active CN103309810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310250534.5A CN103309810B (zh) 2013-06-21 2013-06-21 应用程序的帧率检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310250534.5A CN103309810B (zh) 2013-06-21 2013-06-21 应用程序的帧率检测方法和装置

Publications (2)

Publication Number Publication Date
CN103309810A true CN103309810A (zh) 2013-09-18
CN103309810B CN103309810B (zh) 2016-08-10

Family

ID=49135057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310250534.5A Active CN103309810B (zh) 2013-06-21 2013-06-21 应用程序的帧率检测方法和装置

Country Status (1)

Country Link
CN (1) CN103309810B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123111A (zh) * 2014-06-06 2014-10-29 三星半导体(中国)研究开发有限公司 Mipi dsi的显示模式切换方法和装置
CN104572052A (zh) * 2013-10-21 2015-04-29 腾讯科技(深圳)有限公司 一种应用程序帧率的测量方法及装置
CN106371786A (zh) * 2016-08-31 2017-02-01 福建省天奕网络科技有限公司 一种帧率动态获取的方法及系统
CN107783886A (zh) * 2016-08-25 2018-03-09 平安科技(深圳)有限公司 一种获取运行帧率的方法及终端
WO2018082213A1 (zh) * 2016-11-07 2018-05-11 华为技术有限公司 一种显示方法以及电子终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541515A (zh) * 2010-12-08 2012-07-04 腾讯科技(深圳)有限公司 一种实现切屏特效的方法及装置
CN103136102A (zh) * 2013-02-07 2013-06-05 百度在线网络技术(北京)有限公司 一种Android平台的流畅度测试方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541515A (zh) * 2010-12-08 2012-07-04 腾讯科技(深圳)有限公司 一种实现切屏特效的方法及装置
CN103136102A (zh) * 2013-02-07 2013-06-05 百度在线网络技术(北京)有限公司 一种Android平台的流畅度测试方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
范怀宇: "《Android开发精要》", 31 August 2012, article "Android开发精要", pages: 151-155 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572052A (zh) * 2013-10-21 2015-04-29 腾讯科技(深圳)有限公司 一种应用程序帧率的测量方法及装置
CN104572052B (zh) * 2013-10-21 2019-07-02 腾讯科技(深圳)有限公司 一种应用程序帧率的测量方法及装置
CN104123111A (zh) * 2014-06-06 2014-10-29 三星半导体(中国)研究开发有限公司 Mipi dsi的显示模式切换方法和装置
CN104123111B (zh) * 2014-06-06 2017-07-07 三星半导体(中国)研究开发有限公司 Mipi dsi的显示模式切换方法和装置
CN107783886A (zh) * 2016-08-25 2018-03-09 平安科技(深圳)有限公司 一种获取运行帧率的方法及终端
CN106371786A (zh) * 2016-08-31 2017-02-01 福建省天奕网络科技有限公司 一种帧率动态获取的方法及系统
CN106371786B (zh) * 2016-08-31 2019-04-30 福建省天奕网络科技有限公司 一种帧率动态获取的方法及系统
WO2018082213A1 (zh) * 2016-11-07 2018-05-11 华为技术有限公司 一种显示方法以及电子终端
CN108431724A (zh) * 2016-11-07 2018-08-21 华为技术有限公司 一种显示方法以及电子终端

Also Published As

Publication number Publication date
CN103309810B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN109478393B (zh) 显示图像的电子装置和方法
CN103309810A (zh) 应用程序的帧率检测方法和装置
US20200234631A1 (en) Operating module for display and operating method, and electronic device supporting the same
US8996901B2 (en) Power management of electronic device with display
US10496791B2 (en) Prognostics and health management system
US8650552B1 (en) Methods and systems for simulation of energy consumption in mobile operating system emulators
EP3109762A1 (en) Electronic device having external memory and method for operating the same
CN102928690B (zh) 用于电子器件的异常检测方法
CN105929925A (zh) 电子装置以及用于在电子装置中管理功率的方法
KR20160120088A (ko) 서버, 전자 장치 및 전자 장치의 정보 제공 방법
CN108351726B (zh) 输入处理方法和设备
ES2964003T3 (es) Interfaz gráfica de servicio de equipo
KR102416501B1 (ko) 전자 장치 및 그의 제어 방법
CN112947969B (zh) 一种页面离屏渲染方法、装置、设备和可读介质
CN109669798B (zh) 崩溃分析方法、装置、电子设备,及存储介质
KR20160142052A (ko) 전자장치에서 디스플레이 제어 방법 및 그 장치
US20160266838A1 (en) Method and electronic device for initializing memory and updating firmware
CN105892572A (zh) 用于显示内容的方法和装置
CN111880990B (zh) 一种异常处理方法及装置
KR20180020544A (ko) 전자 장치 및 전자 장치의 이미지 표시 방법
CN103237108A (zh) 用于移动终端的测试方法和测试终端
CN104749943A (zh) 点亮屏幕的方法、装置及智能手表
CN110990177B (zh) 故障修复方法、装置、系统、存储介质及电子设备
JP7183844B2 (ja) 情報処理装置、方法、およびプログラム
CN114844179B (zh) 电子设备及电量计复位方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant