CN104572086A - 基于安卓设备的fps值获取方法及获取系统 - Google Patents
基于安卓设备的fps值获取方法及获取系统 Download PDFInfo
- Publication number
- CN104572086A CN104572086A CN201410812986.2A CN201410812986A CN104572086A CN 104572086 A CN104572086 A CN 104572086A CN 201410812986 A CN201410812986 A CN 201410812986A CN 104572086 A CN104572086 A CN 104572086A
- Authority
- CN
- China
- Prior art keywords
- fps
- fps value
- android device
- value
- pipe
- 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.)
- Pending
Links
Abstract
本发明公开了一种基于安卓设备的FPS值获取方法及获取系统,所述方法包括:安卓设备实时检测用户是否对应用程序进行点击或滑动操作;当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上。采用本发明可避免对安卓系统的修改,更精确的获得了评价安卓设备的流畅性的FPS值,同时将FPS值显示在屏幕上,更方便用户观看。
Description
技术领域
本发明涉及智能设备领域,尤其涉及一种基于安卓设备的FPS值获取方法及获取系统。
背景技术
随着移动通信的发展和人们生活水平的不断提高,各种安卓设备如手机、PAD等设备的使用越来越普及,安卓设备已经成为人们生活中不可缺少的通信工具。
目前,在移动产品市场,消费者对移动设备的性能关注度越来越高,而流畅性是影响用户对设备性能评价最直接和重要的因素之一。因此,设备的流畅性是用户关注的关键点,其评测、分析、优化方法更是各设备厂商重点研究的内容。而FPS(Frame Per Second,帧率, 每秒帧的刷新频率)是图形处理器每秒刷新次数,是评价安卓设备流畅性评测的重要参数,但是现有技术中提供的FPS值的计算不够准确,实时性也不够好,用户无法直观的看到结果。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供了一种基于安卓设备的FPS值获取方法及获取系统,通过本发明所述方案用户可以得到更精确的安卓设备FPS的值,从而直观的了解自己的安卓设备的流畅性。
本发明解决技术问题所采用的技术方案如下:
一种基于安卓设备的FPS值获取方法,其中,包括:
A、安卓设备实时检测用户是否对应用程序进行点击或滑动操作;
B、当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上。
根据权利要求1所述的基于安卓设备的FPS值获取方法,其中,所述步骤B具体包括:
B1、建立动态链接库文件,设置一交换缓冲函数,判断是否进行显示初始化;
B2、如果进行显示初始化,则将系统中的交换缓冲函数地址替换为所述自定义的函数地址,检测触摸感应驱动是否开始刷新屏幕;
B3、如果是则调用自定义的交换缓冲函数,对函数调用进行计数,计算 FPS值;
B4、将计算得到的FPS值写入用于数据通信的Pipe文件,建立服务读取Pipe文件,将得到FPS值显示到屏幕上。
所述的基于安卓设备的FPS值获取方法,其中,所述步骤B4具体包括:
B41、监听Pipe服务的启动,进行Pipe的创建,创建悬浮文字,并显示悬浮文字,执行注入的命令;
B42、在监听服务启动后,启动线程,线程每隔一预定时间可从Pipe读取触摸感应驱动传来的FPS值,并显示在屏幕上。
所述的基于安卓设备的FPS值获取方法,其中,所述步骤B3中FPS的计算方法为:
通过计算交换缓冲函数在一秒钟执行的次数或是通过单位时间与单次执行函数所有时间的比值。
所述的基于安卓设备的FPS值获取方法,其中,所述预定时间为1s。
一种基于安卓设备的FPS值获取系统,其中,包括:
检测模块,用于安卓设备实时检测用户是否对应用程序进行点击或滑动操作;
获取与显示模块,用于当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上。
所述的基于安卓设备的FPS值获取系统,其中,所述获取与显示模块具体包括:
建立与设置单元,用于建立动态链接库文件,设置一交换缓冲函数,判断是否进行显示初始化;
替换与检测单元,用于如果进行显示初始化,则将系统中的交换缓冲函数地址替换为所述自定义的函数地址,检测触摸感应驱动是否开始刷新屏幕;
调用与计算单元,用于如果是则调用自定义的交换缓冲函数,对函数调用进行计数,计算 FPS值;
写入与显示单元,用于将计算得到的FPS值写入用于数据通信的Pipe文件,建立服务读取Pipe文件,将得到FPS值显示到屏幕上。
所述的基于安卓设备的FPS值获取系统,其中,所述步骤写入与显示单元具体包括:
监听与创建单元,用于监听Pipe服务的启动,进行Pipe的创建,创建悬浮文字,并显示悬浮文字,执行注入的命令;
启动与显示单元,用于在监听服务启动后,启动线程,线程每隔一预定时间可从Pipe读取触摸感应驱动传来的FPS值,并显示在屏幕上。
所述的基于安卓设备的FPS值获取系统,其中,所述调用与计算单元中FPS的计算方法为:
通过计算交换缓冲函数在一秒钟执行的次数或是通过单位时间与单次执行函数所有时间的比值。
所述的基于安卓设备的FPS值获取系统,其中,所述预定时间为1s。本发明提供了一种基于安卓设备的FPS值获取方法及获取系统,所述方法包括:安卓设备实时检测用户是否对应用程序进行点击或滑动操作;当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上。本发明使移动终端增加了新功能:FPS值动态显示功能;采用本发明可避免对安卓系统的修改,更精确的获得了评价安卓设备的流畅性的FPS值,同时将FPS值显示在屏幕上,更方便用户观看。
附图说明
图1是本发明基于安卓设备的FPS值获取方法的较佳实施例的流程图。
图2是本发明基于安卓设备的FPS值获取方法的具体应用实施例中FPS值动态显示过程的流程图。
图3是本发明基于安卓设备的FPS值获取系统的较佳实施例的功能原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参见图1,图1是本发明基于安卓设备的FPS值获取方法的的较佳实施例的流程图。方法包括:
步骤S100、安卓设备实时检测用户是否对应用程序进行点击或滑动操作。所述安卓设备可为使用安卓系统的手机、PAD等。较优的,所述安卓设备为用触屏操作的设备。因为只有用户在对应用程序进行操作时,系统才会对屏幕进行刷新,尤其是在玩游戏和看视频的时候,对系统的FPS值要求较高。
步骤S200、当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上。
其中,FPS(Frame Per Second,帧率, 每秒帧的刷新频率)是图形形处理器每秒刷新次数,是评价安卓设备流畅性评测的重要参数。
具体实施时,步骤S200还包括:
步骤S210、建立动态链接库文件,设置一交换缓冲函数,判断是否进行显示初始化;具体的所述动态链接库文件是后缀为so的文件,也称so文件。交换缓冲函数即为eglSwapBuffers函数。
步骤S220、如果进行显示初始化,则将系统中的交换缓冲函数地址替换为所述自定义的函数地址,检测触摸感应驱动是否开始刷新屏幕;具体的,所述触摸感应驱动是SurfaceFlinger的中文译文。
步骤S230、如果是则调用自定义的交换缓冲函数,对函数调用进行计数,计算 FPS值;
步骤S240、将计算得到的FPS值写入用于数据通信的Pipe文件,建立服务读取Pipe文件,将得到FPS值显示到屏幕上。
具体实施时,所述步骤S240具体包括:
步骤S241、监听Pipe服务的启动,进行Pipe的创建,创建悬浮文字,并显示悬浮文字,执行注入的命令;
步骤S242、在监听服务启动后,启动线程,线程每隔一预定时间可从Pipe读取触摸感应驱动传来的FPS值,并显示在屏幕上。
具体实施时,所述步骤S230中FPS的计算方法为:
通过计算交换缓冲函数在一秒钟执行的次数或是通过单位时间与单次执行函数所有时间的比值。
线程读取Pipe的值中,所述预定时间为1s。具体的,线程每隔1秒通过通信管道Pipe读取触摸感应驱动传来的FPS的值,间隔时间也可根据需要确定,比如2秒等。
由以上方法实施例可知,本发明提供的基于安卓设备的FPS获取方法,可避免对安卓系统的修改,更精确的获得了评价安卓设备的流畅性的FPS值,同时将FPS值显示在屏幕上,更方便用户观看。
本发明还提供了一种本发明基于安卓设备的FPS值获取方法的具体应用实施例中FPS值动态显示过程的流程图,如图2所示,步骤包括:
步骤S10、建立so文件,之后执行步骤S20;
步骤S20、自定义eglSwapBuffers函数,之后执行步骤S30;
步骤S30、判断是否进行显示初始化,如果否,则执行步骤S30,如果是;如果否,则执行步骤S40;
步骤S40、将系统中的eglSwapBuffers函数地址替换为自定义的函数地址,之后执行步骤S50;
步骤S50、判断SurfaceFlinger是否开始刷新屏幕,如果否,则执行步骤S50,如果是;如果否,则执行步骤S60;
步骤S60、调用自定义的eglSwapBuffers函数,对函数调用进行计数,计算 FPS值;之后执行步骤S70;
步骤S70、将计算得到的FPS值写入Pipe文件,之后执行步骤S80;
步骤S80、建立服务读取Pipe文件,之后执行步骤S90;
步骤S90、将得到FPS值显示到屏幕上,之后执行步骤S100。
具体实施时,Pipe服务的具体包括以下几个步骤:
1)监听Pipe服务的启动,即监听服务启动、服务结束按钮,如果点击了启动按钮,则开启监听Pipe服务;如果点击了停止按钮,则停止监听Pipe的服务。具体的实现代码如下:
case R.id.buttonStart:
Log.d(TAG, "starting service"); //监听服务启动按钮//
startService(new Intent(this, FPSService.class)); //如果点击了启动按钮,则开启监听Pipe服务//
break;
case R.id.buttonStop:
Log.d(TAG, "stopping service"); //监听服务结束按钮//
stopService(new Intent(this, FPSService.class));
break; //如果点击了停止按钮,则停止监听Pipe的服务//。
2)服务的初始化。这里进行Pipe的创建,悬浮文字的创建,注入的执行等工作。具体实施时,首先建立Pipe文件,建立显示悬浮文字的布局,将更改文件系统权限值的命令,统一添加到一个字符串数组中。然后执行命令,给应用加root权限。如果命令执行不成功,则给用户提示请确保手机已经被root。实现代码如下:
// Create the Pipe file for receiving data
createPipe(); //建立Pipe文件//
// Create floating textview to display FPS
createLayout();//建立显示悬浮文字的布局//
// Inject and hook
ArrayList<String> list = new ArrayList<String>();
list.add("chmod 775 " + APP_PATH + "inject");
list.add("chmod 666 " + APP_PATH + "Pipe");
list.add("chmod 775 " + APP_PATH + "libfpsshow.so");
list.add(APP_PATH + "inject"); / /将更改文件系统权限值的命令,统一添加到一个字符串数组中//
// Execute as root
if (execute(list)) {
Log.e(TAG, "OK\n");
} else {
Toast.makeText(this, "Execute abnormally, Can not get root permission.", Toast.LENGTH_LONG).show();
Log.e(TAG, "Error\n");
this.stopSelf();
} / /执行命令,给应用加root权限。如果命令执行不成功,则给用户提示请确保手机应用不能获得root权限//。
3)对于注入的命令的执行,需要root权限,方法如下:建立一个系统进程类Process对象suProcess,建立一个输出流os用来获取suProcess的输出。然后从字符串数组中依次读取更改文件权限值的命令,并依次执行。最后执行退出命令。代码实现如下:
public final boolean execute(ArrayList<String> commands) {
Process suProcess = Runtime.getRuntime().exec("su"); //建立一个系统进程类Process对象suProcess//
DataOutputStream os = new DataOutputStream(suProcess.getOutputStream()); // 建立一个输出流os用来获取suProcess的输出//
for (String currCommand : commands) {
os.writeBytes(currCommand + "\n");
os.flush();
} // 然后从字符串数组中依次读取更改文件权限值的命令,并依次执行//
os.writeBytes("exit\n");
os.flush();
int suProcessRetval = suProcess.waitFor();
} //执行退出命令//。
4)悬浮文字的显示。这里通过一个Layout即可。具体的,通过设置悬浮窗口,将其设置为系统提醒模式,不可获取焦点,不可触摸,位置在屏幕顶端中间,大小随内容而定。代码实现如下:
windowManager = (WindowManager) getApplicationContext().getSystemService("window");
layoutParams = new WindowManager.LayoutParams();
layoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
layoutParams.format = PixelFormat.RGBA_8888;
layoutParams.gravity = Gravity.TOP | Gravity.CENTER;
layoutParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
layoutParams.x = 0;
layoutParams.y = 0;
// myLayout is the customized layout which contains textview
myLayout = new MyLayout(this);
windowManager.addView(myLayout, layoutParams);//。
5)在监听服务的onStartCommand()被调用时,会启动线程,线程每一秒执行一次run()函数,该函数从Pipe读Surfaceflinger传来的FPS,然后显示在屏幕上。这里不一定必须是每一秒run一次,可以根据需要调整。具体实施时,在线程的run函数中,通过readFps()方法读取fps值,然后将值传递到悬浮窗的对象myLayout中去,设置间隔执行时间为1秒。代码实现如下:
private Runnable myTasks = new Runnable() {
Override
public void run() {
int fps = readFps();
Log.e(TAG, "Service FPS = " + fps + "\n");
myLayout.setFPS(fps);
// Do other customized computation.
myLayout.setFPSAvg(fps_avg);
myhandler.postDelayed(myTasks, 1000);
}
}。
6) FPS的计算方法。eglSwapBuffers函数每执行一次,相当于显示一次。在1秒钟内的次数,即FPS值。即获取系统当前时间,赋值给Time1;执行缓存交换函数;重新获取系统当前时间,赋值给Time2;交换时间swapTime等于两时间差;fps等于1秒除以交换时间。具体代码如下方法一所示 ,也可以通过单位时间与单次执行函数所用时间的比值计算得到。通过当前时间currentTime、上次时间previousTime、开始时间startTime三个时间点来确立framesNum,来计算fps。currentTime是系统当前时间,previousTime是每次缓存交换函数开始执行的时间,startTime是每次计算fps的起始时间,framesNum是显示的帧数。缓存交换函数每执行一次,framesNum增加1,当前时间currentTime减去开始时间startTime,即总共花费时间totalTime。当totalTime大于1000毫秒,输出一次fps。fps的值等于总共的帧数除以所用总共时间。然后将当前时间重新设为开始时间startTime,将framesNum重新设为0。再进行下一次新的计算。代码实现如下所示:
方法一:
time1 = getSystemCurrentTime();//获取系统当前时间,赋值给Time1//
start_original_eglSwapBuffers();//执行缓存交换函数//
time2 = getSystemCurrentTime();//重新获取系统当前时间,赋值给Time2//
swapTime = t2 - t1; //交换时间swapTime等于两时间差//
fps = unitTime/swapTime; //fps等于1秒除以交换时间//
方法二:
currentTime = getSystemCurrentTime();
if (startTime < 0) {
startTime = previousTime = currentTime;
framesNum = 0;
} //通过当前时间currentTime、上次时间previousTime、开始时间startTime三个时间点来确立framesNum,来计算fps。currentTime是系统当前时间,previousTime是每次缓存交换函数开始执行的时间,startTime是每次计算fps的起始时间,framesNum是显示的帧数//
else {
framesNum += 1;// 缓存交换函数每执行一次,framesNum增加1//
frameTime = currentTime - previousTime;
totalTime = currentTime - startTime; //当前时间currentTime减去开始时间startTime,即总共花费时间totalTime//
previousTime = nowTime;
if (totalTime > 1000) {
fps = framesNum * 1000 / totalTime;
startTime = nowTime;
framesNum = 0;
}//当totalTime大于1000毫秒,输出一次fps,fps的值等于总共的帧数除以所用总共时间。然后将当前时间重新设为开始时间startTime,将framesNum重新设为0。再进行下一次新的计算。//。
由以上具体应用实施例可知,本发明提供了一种基于安卓设备的FPS值获取方法,通过在安卓设备刷新屏幕时,对自定义的函数的调用次数进行计数,计算出FPS值,并将该值动态显示在屏幕上,供用户参考安卓设备的流畅性。
基于上述实施例,本发明还提供了一种基于安卓设备的FPS值的获取系统的较佳实施例的功能原理框图,如图3所示,其中所述系统包括:
检测模块410,用于安卓设备实时检测用户是否对应用程序进行点击或滑动操作;具体如上所述。
获取与显示模块420,用于当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上;具体如上所述。
所述的基于安卓设备的FPS值获取系统,其中,所述获取与显示模块420具体包括:
建立与设置单元,用于建立动态链接库文件,设置一交换缓冲函数,判断是否进行显示初始化;具体如上所述。
替换与检测单元,用于如果进行显示初始化,则将系统中的交换缓冲函数地址替换为所述自定义的函数地址,检测触摸感应驱动是否开始刷新屏幕;具体如上所述。
调用与计算单元,用于如果是则调用自定义的交换缓冲函数,对函数调用进行计数,计算 FPS值;具体如上所述。
写入与显示单元,用于将计算得到的FPS值写入用于数据通信的Pipe文件,建立服务读取Pipe文件,将得到FPS值显示到屏幕上;具体如上所述。
所述的基于安卓设备的FPS值获取系统,其中,所述步骤写入与显示单元具体包括:
监听与创建单元,用于监听Pipe服务的启动,进行Pipe的创建,创建悬浮文字,并显示悬浮文字,执行注入的命令;具体如上所述。
启动与显示单元,用于在监听服务启动后,启动线程,线程每隔一预定时间可从Pipe读取触摸感应驱动传来的FPS值,并显示在屏幕上;具体如上所述。
所述的基于安卓设备的FPS值获取系统,其中,所述调用与计算单元中FPS的计算方法为:
通过计算交换缓冲函数在一秒钟执行的次数或是通过单位时间与单次执行函数所有时间的比值;具体如上所述。
所述的基于安卓设备的FPS值获取系统,其中,所述预定时间为1s;具体如上所述。
本发明提供了一种基于安卓设备的FPS值获取方法及获取系统,所述方法包括:安卓设备实时检测用户是否对应用程序进行点击或滑动操作;当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上。采用本发明可避免对安卓系统的修改,更精确的获得了评价安卓设备的流畅性的FPS值,同时将FPS值显示在屏幕上,更方便用户观看。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于安卓设备的FPS值获取方法,其特征在于,包括:
A、安卓设备实时检测用户是否对应用程序进行点击或滑动操作;
B、当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上。
2.根据权利要求1所述的基于安卓设备的FPS值获取方法,其特征在于,所述步骤B具体包括:
B1、建立动态链接库文件,设置一交换缓冲函数,判断是否进行显示初始化;
B2、如果进行显示初始化,则将系统中的交换缓冲函数地址替换为所述自定义的函数地址,检测触摸感应驱动是否开始刷新屏幕;
B3、如果是则调用自定义的交换缓冲函数,对函数调用进行计数,计算 FPS值;
B4、将计算得到的FPS值写入用于数据通信的Pipe文件,建立服务读取Pipe文件,将得到FPS值显示到屏幕上。
3.根据权利要求2所述的基于安卓设备的FPS值获取方法,其特征在于,所述步骤B4具体包括:
B41、监听Pipe服务的启动,进行Pipe的创建,创建悬浮文字,并显示悬浮文字,执行注入的命令;
B42、在监听服务启动后,启动线程,线程每隔一预定时间可从Pipe读取触摸感应驱动传来的FPS值,并显示在屏幕上。
4.根据权利要求2所述的基于安卓设备的FPS值获取方法,其特征在于,所述步骤B3中FPS的计算方法为:
通过计算交换缓冲函数在一秒钟执行的次数或是通过单位时间与单次执行函数所有时间的比值。
5.根据权利要求4所述的基于安卓设备的FPS值获取方法,其特征在于,所述预定时间为1s。
6.一种基于安卓设备的FPS值获取系统,其特征在于,包括:
检测模块,用于安卓设备实时检测用户是否对应用程序进行点击或滑动操作;
获取与显示模块,用于当检测到用户对应用程序进行点击或滑动操作时,获取当前FPS值,并将所述当前FPS值动态显示在屏幕上。
7.根据权利要求6所述的基于安卓设备的FPS值获取系统,其特征在于,所述获取与显示模块具体包括:
建立与设置单元,用于建立动态链接库文件,设置一交换缓冲函数,判断是否进行显示初始化;
替换与检测单元,用于如果进行显示初始化,则将系统中的交换缓冲函数地址替换为所述自定义的函数地址,检测触摸感应驱动是否开始刷新屏幕;
调用与计算单元,用于如果是则调用自定义的交换缓冲函数,对函数调用进行计数,计算 FPS值;
写入与显示单元,用于将计算得到的FPS值写入用于数据通信的Pipe文件,建立服务读取Pipe文件,将得到FPS值显示到屏幕上。
8.根据权利要求7所述的基于安卓设备的FPS值获取系统,其特征在于,所述步骤写入与显示单元具体包括:
监听与创建单元,用于监听Pipe服务的启动,进行Pipe的创建,创建悬浮文字,并显示悬浮文字,执行注入的命令;
启动与显示单元,用于在监听服务启动后,启动线程,线程每隔一预定时间可从Pipe读取触摸感应驱动传来的FPS值,并显示在屏幕上。
9.根据权利要求7所述的基于安卓设备的FPS值获取系统,其特征在于,所述调用与计算单元中FPS的计算方法为:
通过计算交换缓冲函数在一秒钟执行的次数或是通过单位时间与单次执行函数所有时间的比值。
10.根据权利要求9所述的基于安卓设备的FPS值获取系统,其特征在于,所述预定时间为1s。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410812986.2A CN104572086A (zh) | 2014-12-24 | 2014-12-24 | 基于安卓设备的fps值获取方法及获取系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410812986.2A CN104572086A (zh) | 2014-12-24 | 2014-12-24 | 基于安卓设备的fps值获取方法及获取系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104572086A true CN104572086A (zh) | 2015-04-29 |
Family
ID=53088252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410812986.2A Pending CN104572086A (zh) | 2014-12-24 | 2014-12-24 | 基于安卓设备的fps值获取方法及获取系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572086A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095045A (zh) * | 2015-06-12 | 2015-11-25 | 深圳市美贝壳科技有限公司 | Android系统的后台服务监控方法及其系统 |
CN105653456A (zh) * | 2015-12-31 | 2016-06-08 | 网易(杭州)网络有限公司 | 应用程序性能测试方法、装置和系统 |
CN106339300A (zh) * | 2016-08-12 | 2017-01-18 | 武汉斗鱼网络科技有限公司 | 一种第三方游戏的fps获取方法及获取系统 |
WO2018099356A1 (zh) * | 2016-11-30 | 2018-06-07 | 武汉斗鱼网络科技有限公司 | 一种用于分析Android端应用运行流畅度的方法和系统 |
CN108144298A (zh) * | 2017-12-18 | 2018-06-12 | 福建省天奕网络科技有限公司 | 一种游戏渲染的优化方法及终端 |
CN108845841A (zh) * | 2018-06-15 | 2018-11-20 | 广州多益网络股份有限公司 | 改变终端应用行为的方法、装置及终端 |
CN110851327A (zh) * | 2019-11-11 | 2020-02-28 | Oppo广东移动通信有限公司 | 硬件状态信息获取方法、装置、终端及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7661093B2 (en) * | 2005-01-28 | 2010-02-09 | Microsoft Corporation | Method and system for assessing performance of a video interface using randomized parameters |
CN102713882A (zh) * | 2009-11-16 | 2012-10-03 | 思杰系统有限公司 | 用于选择性地实现渐进显示技术的方法和系统 |
-
2014
- 2014-12-24 CN CN201410812986.2A patent/CN104572086A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7661093B2 (en) * | 2005-01-28 | 2010-02-09 | Microsoft Corporation | Method and system for assessing performance of a video interface using randomized parameters |
CN102713882A (zh) * | 2009-11-16 | 2012-10-03 | 思杰系统有限公司 | 用于选择性地实现渐进显示技术的方法和系统 |
Non-Patent Citations (1)
Title |
---|
匿名: "实现Android下的FPS实时显示工具", 《CSDN网站》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095045A (zh) * | 2015-06-12 | 2015-11-25 | 深圳市美贝壳科技有限公司 | Android系统的后台服务监控方法及其系统 |
CN105653456A (zh) * | 2015-12-31 | 2016-06-08 | 网易(杭州)网络有限公司 | 应用程序性能测试方法、装置和系统 |
CN105653456B (zh) * | 2015-12-31 | 2018-09-11 | 网易(杭州)网络有限公司 | 应用程序性能测试方法、装置和系统 |
CN106339300A (zh) * | 2016-08-12 | 2017-01-18 | 武汉斗鱼网络科技有限公司 | 一种第三方游戏的fps获取方法及获取系统 |
WO2018099356A1 (zh) * | 2016-11-30 | 2018-06-07 | 武汉斗鱼网络科技有限公司 | 一种用于分析Android端应用运行流畅度的方法和系统 |
CN108144298A (zh) * | 2017-12-18 | 2018-06-12 | 福建省天奕网络科技有限公司 | 一种游戏渲染的优化方法及终端 |
CN108144298B (zh) * | 2017-12-18 | 2021-06-25 | 福建省天奕网络科技有限公司 | 一种游戏渲染的优化方法及终端 |
CN108845841A (zh) * | 2018-06-15 | 2018-11-20 | 广州多益网络股份有限公司 | 改变终端应用行为的方法、装置及终端 |
CN110851327A (zh) * | 2019-11-11 | 2020-02-28 | Oppo广东移动通信有限公司 | 硬件状态信息获取方法、装置、终端及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572086A (zh) | 基于安卓设备的fps值获取方法及获取系统 | |
CN104765678B (zh) | 对移动终端设备上的应用进行测试的方法及装置 | |
CN106557424B (zh) | 内存测试方法、被测终端、测试客户端及系统 | |
US9274935B1 (en) | Application testing system with application programming interface | |
US20130326467A1 (en) | Application quality parameter measurement-based development | |
CN106126424B (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
WO2014169565A1 (zh) | 终端的测试方法及装置 | |
US10768947B2 (en) | Method for interface refresh synchronization,terminal device, and non-transitory computer-readable storage medium | |
CN109976966A (zh) | 一种应用程序启动时间统计方法、装置及系统 | |
WO2017049893A1 (zh) | 一种应用程序的测试方法、测试装置及移动终端 | |
WO2020143159A1 (zh) | 一种用户界面的处理方法和装置 | |
CN108614775A (zh) | 自动化测试方法、装置、终端设备及计算机可读存储介质 | |
TWI610220B (zh) | 自動控制顯示螢幕密度的設備及方法 | |
CN113608812A (zh) | 远程控制方法、装置、系统及存储介质 | |
CN104182663A (zh) | 一种鉴别模拟器操作的方法及装置 | |
CN114723866A (zh) | 卡顿检测方法及装置 | |
CN109302523B (zh) | 一种手机端和服务器端手机性能评估方法 | |
CN106445479B (zh) | 信息推送方法及装置 | |
CN103729258A (zh) | 一种自动测试方法、终端及系统 | |
CN112631939A (zh) | 用例配置方法、用例配置装置以及可读存储介质 | |
CN105138458A (zh) | 智能终端与电脑端结合录制自动化测试脚本的方法及系统 | |
CN110442499B (zh) | 测试、提高页面响应性能的方法和装置、终端设备 | |
CN111580805A (zh) | 一种积木式搭建app的方法和系统 | |
CN107391354B (zh) | 自动监测终端性能的方法及系统、存储装置 | |
CN110502419A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150429 |
|
RJ01 | Rejection of invention patent application after publication |