CN111444086A - Method and system for estimating fluency of terminal application - Google Patents

Method and system for estimating fluency of terminal application Download PDF

Info

Publication number
CN111444086A
CN111444086A CN202010131737.2A CN202010131737A CN111444086A CN 111444086 A CN111444086 A CN 111444086A CN 202010131737 A CN202010131737 A CN 202010131737A CN 111444086 A CN111444086 A CN 111444086A
Authority
CN
China
Prior art keywords
frame rate
callback
terminal
frequency
application
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
Application number
CN202010131737.2A
Other languages
Chinese (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.)
Shanghai Da Xijiao Information Technology Co ltd
Original Assignee
Shanghai Da Xijiao Information 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 Shanghai Da Xijiao Information Technology Co ltd filed Critical Shanghai Da Xijiao Information Technology Co ltd
Priority to CN202010131737.2A priority Critical patent/CN111444086A/en
Publication of CN111444086A publication Critical patent/CN111444086A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3438Recording 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 monitoring of user actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The invention relates to a method and a system for estimating fluency of terminal application, wherein the method comprises the following steps: detecting the operation behavior of a user on a terminal in the running process of the terminal application; responding to the change of an application interface caused by the operation behavior of a user, and acquiring the frame rate of the terminal application; and estimating fluency of the application based at least in part on the obtained frame rate. The invention can detect more blocking scenes which directly influence the user experience, reduces the collection of useless data, improves the monitoring efficiency, provides refined monitoring data and is convenient for the subsequent application development and upgrading process.

Description

Method and system for estimating fluency of terminal application
Technical Field
The invention relates to the technical field of internet Application (Application for short), in particular to a method and a system for estimating fluency of terminal Application based on online user behaviors.
Background
With the development of internet application technology, applications (apps) that provide different functions and meet different requirements bring great convenience to life, work and study of people. Providing a good user experience is an important privacy for App developers; among them, the smoothness of App usage is one of the important criteria for measuring user experience. Therefore, after the App is on line, the blocking condition of the App in the use process can be monitored in time, and the key for improving the user experience is to find the reason and solve the problem.
FPS (frame rate) is one of the key indicators of fluency. According to the retention phenomenon of human eyes, when the FPS of the display screen is less than 24 frames/second, the user may feel a noticeable stuck, which may seriously affect the user's experience.
There are some solutions for testing App fluency currently available. For example, the UI is used for operating the App to run in some preset scenes, and in the running process of the App, the adb system tool is used for acquiring the morton data. For example, an adb shellfumsys surface flag' command is used to acquire data of the last 127 frames, and the frame number is acquired by periodically executing the adb command to calculate the frame rate FPS. Or, using the 'adb shell dumpsys gfxinfo' command, the latest 128 frames of drawing information can be obtained, including the time consumption of three processes of Draw, Process and Execute for each frame of drawing, and if the sum of the three times exceeds 16.6ms, it is considered that the stuck occurs.
Although these two methods have advantages, the disadvantages are also evident: it is difficult to construct an actual user stuck environment to reproduce; the operation is troublesome, an automatic case needs to be compiled, a large number of suspicious scenes cannot be covered, and the test is time-consuming and labor-consuming; the blocking condition of the static page cannot be measured; when the app is blocked, the running state and the information cannot be obtained in time, and development and positioning are difficult.
Disclosure of Invention
Aiming at the technical problems in the prior art, the invention provides a method and a system for estimating the fluency of terminal application, which are used for effectively monitoring the frame rate of the terminal application and estimating the fluency of the application based on the operation of an online user on an App.
In order to solve the above technical problem, according to an aspect of the present invention, there is provided a method for estimating fluency of terminal application, including:
detecting the operation behavior of a user on a terminal in the running process of the terminal application;
responding to the change of an application interface caused by the operation behavior of a user, and acquiring the frame rate of the terminal application; and
estimating fluency of the application based at least in part on the obtained frame rate.
Preferably, the method further comprises: and acquiring the frame rate of the terminal application in the effective time period of the user operation behavior.
Preferably, the method further comprises:
monitoring whether the frame rate of the terminal is changed or not caused by the operation behavior based on the operation behavior of the terminal by the user; and
and responding to the change of the frame rate, and acquiring the frame rate of the terminal application.
Preferably, the method further comprises:
when the frame rate of the terminal is monitored to be increased caused by the operation behavior, acquiring the frame rate before the increase; and when the frame rate of the terminal is reduced caused by the operation behavior is monitored, obtaining the reduced frame rate.
Preferably, the method further comprises:
when the frame rate changes, recording a frame rate event once, and recording the path of the frame rate event.
Preferably, the method further comprises:
monitoring the choreograph callback frequency of the system; and
and responding to the change of the callback frequency, and acquiring the frame rate of the terminal application.
The aforementioned method further comprises: calculating callback frequency according to the occurrence time of the chord graph callback; or, determining the callback frequency by counting the number of the ChoroeGrapher callbacks acquired in unit time.
Preferably, a callback listener is created in the application for listening to a callback of the chord graph.
Preferably, the method further comprises: in response to the increase in callback frequency, determining a period of time from the start of monitoring to when callback frequency increases; counting the callback times acquired in the time period; and calculating the ratio of the callback times to the time period to obtain the frame rate of the application.
Preferably, the method further comprises: and responding to the reduction of the callback frequency, and calculating the frame rate of the application according to the reduced callback frequency.
In order to solve the above technical problem, according to an aspect of the present invention, a system for estimating fluency of a terminal application is provided, which includes a user behavior detection module, a frame rate acquisition module, and an evaluation module. The user behavior detection module is configured to detect the operation behavior of a user on the terminal in the running process of the terminal application; the frame rate acquisition module is configured to respond to the change of an application interface caused by the operation behavior of a user and acquire the frame rate of the terminal application; an evaluation module is configured to estimate a fluency of the application based at least in part on the obtained frame rate.
Preferably, the frame rate obtaining module is configured to obtain, in response to a trigger signal issued by the user behavior detection block during an operation behavior of a user on a terminal, a frame rate of the terminal application during which the trigger signal is valid.
Preferably, the frame rate obtaining module further includes:
a frame rate monitoring unit configured to monitor whether a frame rate of the terminal changes due to the operation behavior, and record a frame rate event once when the frame rate changes; and
a frame rate calculation unit configured to calculate a frame rate of the terminal application in response to a change in frame rate.
Preferably, the frame rate monitoring unit further comprises:
the signal acquisition subunit is configured to monitor the ChoroeGrapher callback and record the callback times when the operation behavior of the user on the terminal is detected;
a timing subunit configured to time when starting monitoring and to record an occurrence time of each chord graph callback;
a frequency calculation subunit configured to calculate a callback frequency according to the monitored callback times and the corresponding timing time; and
and the frequency monitoring subunit is configured to detect the callback frequency, determine whether the frame rate of the terminal changes according to whether the callback frequency changes, and record a frame rate event once when the callback frequency changes.
Preferably, the system is further configured, the frequency calculation subunit determines a callback time interval according to occurrence moments of two callbacks, calculates a callback frequency corresponding to each callback according to the callback time interval, or determines the callback frequency by counting callback times acquired in unit time.
Preferably, the signal obtaining unit is a callback listener registered in the application and configured to listen to a chord graph callback.
Preferably, the frequency monitoring subunit is further configured to generate a first signal when an increase in callback frequency due to the operation behavior is monitored; the frame rate calculation unit is further configured to calculate, upon receiving the first signal, a frame rate before generating the first signal.
Preferably, the frequency monitoring subunit is further configured to generate a second signal when a decrease in the frequency monitoring subunit caused by the operating behaviour is monitored; the frame rate calculation unit is further configured to calculate a frame rate after generating the second signal when receiving the second signal.
Preferably, the frame rate obtaining module further includes: a data acquisition unit configured to acquire a path of the frame rate event when a terminal frame rate occurs.
The invention distinguishes whether the application interface is static or not based on the operation behaviors of the user, such as the touch screen behavior. The method and the device can detect more unsmooth scenes directly influencing user experience, reduce the collection of useless data, improve the monitoring efficiency, provide refined monitoring data, improve the estimation accuracy of the application fluency, and facilitate subsequent application development and upgrading processes.
Drawings
Preferred embodiments of the present invention will now be described in further detail with reference to the accompanying drawings, in which:
fig. 1 is a flowchart of an application fluency estimation method based on online user behavior according to an embodiment of the present invention.
FIG. 2 is a flow chart of a method for obtaining a frame rate according to an embodiment of the present invention;
FIG. 3 is a flow diagram of a method for monitoring a frame rate of a terminal application based on user behavior according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a relationship between a VSync signal and a touch screen signal according to an embodiment of the present invention;
FIG. 5 is a flowchart of a method for monitoring a frame rate of a terminal application based on user behavior according to another embodiment of the present invention;
FIG. 6 is a schematic block diagram of a system for estimating fluency of an application based on user behavior according to an embodiment of the present invention;
FIG. 7 is a schematic block diagram of a system for monitoring a frame rate of a terminal application based on user behavior according to an embodiment of the present invention;
FIG. 8 is a schematic diagram of an application of the system for estimating fluency of application of user behavior according to an embodiment of the invention; and
fig. 9 is a schematic diagram of an application of the terminal frame rate monitoring system according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof and in which is shown by way of illustration specific embodiments of the application. In the drawings, like numerals describe substantially similar components throughout the different views. Various specific embodiments of the present application are described in sufficient detail below to enable those skilled in the art to practice the teachings of the present application. It is to be understood that other embodiments may be utilized and structural, logical or electrical changes may be made to the embodiments of the present application.
Fig. 1 is a flowchart of an application fluency estimation method based on online user behavior according to an embodiment of the present invention. Wherein the method comprises the following steps:
and step S100, detecting the operation behavior of the user on the terminal in the running process of the terminal application. The operation behavior includes any operation that can cause the application interface to change, such as a touch screen, a slide screen, a gesture operation, and the like.
Step S110, in response to a change of an application interface caused by an operation behavior of a user, obtaining a frame rate of the terminal application. Wherein the frame rate is acquired when the user operation behavior is valid. For example, when the operation behavior of the user on the terminal is detected, the system generates a continuous signal from the start of the user operation to the end of the user operation. The period is an effective period of user operation, and the invention only obtains the frame rate in the effective period.
In order to obtain valid data, the frame rate is obtained when the frame rate of the terminal application is changed, and the fluency is affected only when the frame rate is reduced, so that in a preferred embodiment of the invention, the invention only obtains the lower frame rate when the frame rate is changed. As shown in fig. 2:
step S111, monitoring whether the frame rate changes. There are many methods for monitoring frame rate, one is to directly calculate frame rate and monitor whether frame rate changes; another method may monitor changes in other intermediate processing signals that may represent frame rate, such as changes in synchronization vertical signals (VSync) requested by the system for an application, the time taken for the system to render each frame, the frequency of the Choreographer callbacks, etc., and by monitoring these changes in signals, changes in frame rate may be determined. When the frame rate is not changed, the monitoring of the step is continuously executed without processing. If a change has occurred, step S112 is performed.
Step S112, record a frame rate event, and acquire a path of the frame rate event, that is, an interface sequence that the current application is jumping to when the frame rate changes, which corresponds to an ongoing operation path of the application. For example, when the user touches a certain reading material category in the main world of a certain reading APP, the terminal should display the category interface. If in the process, the frame rate change is detected, the path of the frame rate event is from the main interface to the category interface.
In step S113, it is determined whether the change is an increase or a decrease. If the frame rate is increased, the frame rate before the increase is calculated in step S114, for example, if the frame rate is directly monitored in step S111, a lower frame rate is recorded, and if other signals are used to indirectly monitor the frame rate in the monitoring, conversion needs to be performed according to the monitored signals, so as to obtain a reduced frame rate. If it is, the reduced frame rate is calculated in step S115.
And step S116, determining whether the user operation behavior continues, returning to step S111 to continue monitoring if the user operation behavior still continues, and ending the process if the user operation behavior ends.
Step S120, estimating fluency of the application based at least in part on the obtained frame rate. The frame rate obtained when the user performs online operation on the application is used, so the frame rate can well reflect the measurement index of the fluency of the application. For example, when a user acquires a frame rate sequence composed of a plurality of frame rates in the process of online operation of an application, the fluency of the application is estimated according to dimensions such as a change of a frame rate value in the acquired frame rate sequence, a difference between the frame rate and a terminal refresh rate, a difference between the frame rate and a preset stuck threshold, and the like. When only a smaller frame rate is obtained when the frame rate changes, the fluency of the application is estimated according to dimensions such as monitoring time, the obtained number of the frame rates, a difference value between the frame rate and a terminal refresh rate, a difference value between the frame rate and a preset stuck threshold value and the like.
In the Android system, the VSync signal corresponds to an interrupt signal for display and is provided only to registered receivers, so that an App running in the terminal registers the VSync signal receiver with the system to request the VSync signal when a display frame number is required, and in the iOS system, after the VSync signal arrives, the system graphics service notifies App. chord, etc. through a mechanism such as CADisplay L ink that the application main thread is a main component that registers the application main thread with the display system and coordinates between the application view drawing component and the display system, one of the main functions is to schedule application of a next rendering action by receiving the VSync signal.
And step S200, detecting the touch screen behavior of the user to the terminal. The fluency of the user to the App is generally experienced when the user operates, such as opening of the App, switching of a screen, sliding of the screen, and the like. Because the display content is changed due to the operations of the user, the App main thread calculates the display content in the CPU and submits the display content to the GPU for transformation, synthesis and rendering, and then the display content is stored in the cache. Content is displayed on the screen upon request to the VSync signal. Therefore, whether the screen is stuck or not and whether the frame rate is changed or not are mainly generated based on the operation behavior of the user. Therefore, in the embodiment of the present invention, a touch screen behavior of a user on a terminal is detected first. For example, the touch screen behavior of the user is detected by a touch event (touch event). Parameters such as touch coordinates, touch start time, touch end time and the like can be obtained through a touch event (touch event) through corresponding settings.
Step S201, judging whether a touch screen behavior exists, if so, executing step S202, otherwise, returning to step S200, and continuously detecting the touch screen behavior of the user on the terminal.
Step S202, monitoring the callback frequency of the system Choroegraph. In one embodiment, a chord listener may be registered with the application and may monitor the actions during chord callbacks to determine the time and number of occurrences of callbacks. As shown in fig. 4, fig. 4 exemplarily shows a schematic diagram of a relationship between the monitoring Signal S and the touch screen Signal H Signal. And when a touch screen event occurs, providing continuous touch screen signals H Signal until the touch screen event is finished. Each listening signal S represents the display of a chord graph callback corresponding to a frame of content to be displayed. In order to obtain the callback frequency, in an embodiment, the embodiment starts timing when the touch screen Signal H Signal is received, and records the occurrence time of each monitoring Signal S. As shown in FIG. 4, the first listening signal S1At a time of T1Second one of the monitoring signals S2At a time of T2And so on. From the start of timing to time T1The time interval between is t1=T1-0, time T2And time T1The time interval between is t2=T2-T1The time interval is inverted to the frequency of the listening signal, i.e. the frequency is adjusted back. For example, the first callback frequency is 1/t1The second callback frequency is 1/t2By analogy, the nth callback frequency is 1/tn. In another embodiment, the number of callbacks fs obtained per unit time, such as 1s shown in FIG. 4, or 100ms, is counted to determine each callback frequency.
Step S203, determining whether the callback frequency changes, if so, recording a frame rate event in step S204, otherwise, returning to step S202 to continuously monitor the callback frequency.
In determining whether the callback frequency has changed, in one embodiment, each callback frequency is compared. For example, when the first two listening signals are obtained, the corresponding 1/t of the two signals are compared1And 1/t2Whether or not equal, if equal, sayWhen the third monitoring signal is obtained, the corresponding 1/t is obtained3And 1/t2(alternatively 1/t)1) Comparing, and so on, comparing each obtained monitoring Signal until the touch screen Signal H Signal is ended or the current callback frequency is not equal to the previous callback frequency, for example, 1/t of the nth monitoring in fig. 4nGreater than 1/tn-1. Similarly, when the callback frequency is the callback frequency fs obtained in the unit time, the first two fs are obtained1And fs2Comparing the two, if the two are the same, obtaining a third fs3While, the third fs3Fs from the previous one2Comparing the touch signals until the touch Signal H Signal is finished or the current fs is obtainednFs from the previous onen-1Not equal.
If all callback frequencies are the same until the touch screen Signal H Signal is finished, the current App runs normally and does not need to record any data. If the callback frequency changes under the condition that the touch screen Signal H Signal still exists, as shown in fig. 4, the callback frequency increases at the beginning of the nth monitoring Signal, which indicates that the frame rate changes during the process of touching the screen by the user, and the frame rate before the change is smaller than the frame rate after the change; if the callback frequency decreases at the beginning of a certain snoop signal, it means that the frame rate before the change is higher than the frame rate after the change. Too small a frame rate may cause a stuck phenomenon, which may affect the user experience, and thus, at this time, related data may need to be recorded for subsequent analysis.
In step S204, besides recording a frame rate event, related data, such as frame rate, path, etc. of the frame rate event, is also acquired. Wherein the frame rate can be calculated differently according to the increase or decrease of the callback frequency. If the frequency of the call-back increases, indicating that the frame rate before the change is low, the present invention calculates a lower frame rate and, therefore, calculates the frame rate before the frequency of the signal call-back increases. In one embodiment, the time period from the start of monitoring to the time of the increase in callback frequency is determined and calculated to the time T as shown in FIG. 4n-1A period of time of (d); then, counting the monitoring messages acquired in the time periodNumber f of numbersn(ii) a Recalculating the number f of monitored signalsnAnd the ratio of the time period to the time period is converted by a unit to obtain the frame rate of the frame rate event. If the frequency of callbacks decreases, to obtain a frame rate after the decrease, in another embodiment, the frame rate of the frame rate event may be calculated according to the decreased frequency of callbacks. For example, the frame rate can be obtained by unit conversion of the reduced callback frequency.
The path of the frame rate event includes an ongoing operation path of the current application, such as from the application main interface to a certain paging interface. Taking WeChat as an example, the conversation interface from the address list to one of the contacts is provided; or from the home interface to the "subscription number" interface, etc.
As shown in fig. 5, a flowchart of a method for monitoring a frame rate of a terminal application according to another embodiment of the present invention is provided, where the method includes:
step S200a, detecting the touch screen behavior of the user to the terminal.
Step 201a, judging whether there is touch screen behavior, if yes, executing step 202a, if not, returning to step 200a, and continuously detecting the touch screen behavior of the user to the terminal.
Step S202a, monitoring the callback frequency of the application response.
Step S203a, when judging whether the callback frequency changes, if the callback frequency changes, executing step S204 a; if the callback frequency is not changed, go to step S205 a.
Step S204a, record a frame rate event, calculate a frame rate corresponding to a low callback frequency, and collect an event path.
Step S205a, determine whether the user is still touching the screen, that is, whether the touch screen Signal H Signal in fig. 4 is still present, if so, go to step S202a to continue monitoring. If the user has no longer touched the screen, the process ends.
The difference between this embodiment and the method illustrated in fig. 3 is that a determination of whether the user still touches the screen during the monitoring process is added, so that the monitoring process is ended when the user touches the screen. And, through the judgment of whether the user still touches the screen, after the frame rate event is recorded once, the monitoring can be continued so as to find out a new frame rate event.
FIG. 6 is a schematic block diagram of a system for estimating fluency of an application based on user behavior according to an embodiment of the present invention. The system comprises: the device comprises a user behavior detection module 1a, a frame rate acquisition module 2a and an evaluation module 3 a. The user behavior detection module 1a and the frame rate acquisition module 2a are located at a user terminal, and the evaluation module 3a can be divided into two types, one type is located at the user terminal and used for estimating the application fluency of the user, and the other type is located at an application server and used for estimating the fluency of the application according to frame rate data collected and reported by all users with the application. In the user terminal, the user behavior detection module 1a is used for detecting the operation behavior of the user on the terminal in the terminal application running process. Specifically, the operation behavior of the user may be acquired by registering a corresponding operation event. When the operation behavior of the user is detected, a continuous operation signal can be generated as a trigger signal until the operation behavior of the user is finished. The frame rate obtaining module 2a is configured to respond to a change of an application interface caused by a user operation behavior, and obtain a frame rate of the terminal application. For example, when the frame rate obtaining module 2a receives a trigger signal generated by the user behavior detecting module 1a, the frame rate obtaining module obtains a frame rate of the terminal application during the trigger signal. In one embodiment, the frame rate obtaining module 2a further includes a frame rate monitoring unit 21a, a frame rate calculating unit 22a, and an optional data collecting unit 23 a. The frame rate monitoring unit 21a is configured to monitor whether a frame rate of the terminal changes due to the operation behavior, and record a frame rate event once when the frame rate changes. For example, when the frame rate of the terminal is increased due to the operation behavior is monitored, a first signal is generated; and generating a second signal when the frame rate reduction of the terminal caused by the operation behavior is monitored. The first frame rate calculation unit 22 is configured to calculate a frame rate of the terminal application in response to a frame rate change. For example, upon receiving a first signal, calculating a frame rate before generating the first signal; when the second signal is received, the frame rate after the second signal is generated is calculated. The data collecting unit 23a is configured to collect a path of the frame rate event when the frame rate of the terminal occurs. The evaluation module 3a estimates the fluency of the application based at least in part on the obtained frame rate. For example, when the frame rate acquisition module 2a acquires a frame rate sequence composed of a plurality of frame rates, the fluency of the application is estimated from dimensions such as a change in a frame rate value in the frame rate sequence, a difference between the frame rate and a terminal refresh rate, and a difference between the frame rate and a preset stuck threshold. When the frame rate obtaining module 2a only obtains a smaller frame rate when the frame rate changes, the fluency of the application is estimated according to dimensions such as the monitoring time, the obtained number of frame rates, a difference value between the frame rate and a terminal refresh rate, a difference value between the frame rate and a preset stuck threshold value, and the like.
Fig. 7 is a schematic block diagram of a system for monitoring a frame rate of a terminal based on user behavior according to an embodiment of the present invention, where the system includes a touch screen detection module 1, a callback monitoring module 2, and a frame rate event module 3. In the application running process, the touch screen detection module 1 is used for detecting a touch screen behavior of a user on the terminal. For example, by registering a touch event (touch event), it may be detected whether the user touches the screen, and a touch screen Signal H Signal may be generated. The terminal frame rate monitoring system is a specific embodiment of the user behavior detection module 1a and the frame rate acquisition module 2a located in the user terminal in fig. 6.
The callback monitoring module 2 is connected with the touch screen detection module 1 and used for monitoring the Choreograph callback frequency when the touch screen behavior of the user on the terminal is detected. Wherein, in one embodiment, the callback monitoring module 2 includes: a signal acquiring unit 21, a timing unit 22 and a frequency calculating unit 23, in a specific embodiment, the signal acquiring unit 21 may be a chord callback listener registered in the application. The monitor can detect the occurrence of the choreogram callback, and sends out a monitoring signal when the choreogram callback occurs. The timing unit 22 starts timing when receiving the touch screen Signal H Signal, wherein the timing unit 22 may adopt different timing modes according to different methods for calculating the callback frequency. For example, the timing unit 22 is configured to count each timeThe time intervals of the two listening signals are timed so as to obtain t as in fig. 41、t2、tnAnd the like. Or recording the time of each listening signal, e.g. T1、T2、TnAnd the time interval is obtained by calculating the time of two adjacent monitoring signals; correspondingly, the frequency calculating unit 23 calculates the callback frequency according to the time interval. For example, the first callback frequency is 1/t1The second callback frequency is 1/t2. Alternatively, the timing unit 22 counts a predetermined time unit time, such as 1s or 1ms, each time, and sends the time unit time to the frequency calculating unit 23, and the frequency calculating unit 23 counts the number of call backs acquired in each unit time, thereby determining the call back frequency.
In one embodiment, the frame rate event module 3 includes a frame rate calculation unit 31, an event data acquisition unit 32 and a data processing unit 33. Wherein, the data processing unit 33 receives the callback frequency calculated by the callback monitoring module 2. When two callback frequencies are received, comparing whether the two callback frequencies are equal, and if so, waiting for the next callback frequency. When a new callback frequency is received again, the new callback frequency is compared with the previous callback frequency, if the new callback frequency is not equal to the previous callback frequency, the frame rate is changed, a frame rate event is recorded once, and an event notification is sent to the frame rate calculation unit 31 and the event data acquisition unit 32. The frame rate calculation unit 31 calculates the frame rate, and returns the calculated frame rate to the data processing unit 33. Upon receiving the event notification, the event data collection unit 32 collects the operation currently performed by the application to determine a path, and sends it to the data processing unit 33. The data processing unit 33 records the frame rate calculated by the frame rate calculating unit 31 and the path acquired by the event data acquiring unit 32.
The data processing unit 33 records the determined frame rate event, the determined path, the determined frame rate and other data into a user log in a terminal application file system, and the application periodically sends the user log to the server.
In a specific embodiment, when the data processing unit 33 obtains, through comparison, that the current callback frequency is not equal to the previous callback frequency, it further determines the sizes of the current callback frequency and the previous callback frequency, and if the current callback frequency is greater than the previous callback frequency, it indicates that the callback frequency is increased, at this time, the data processing unit 33 records a frame rate event, and the event notification sent to the frame rate calculation unit 31 includes information of the frame rate before calculation. If the current callback frequency is less than the previous callback frequency, indicating that the callback frequency is decreased, the information of the frame rate after calculation is included in the event notification sent to the frame rate calculation unit 31.
After receiving the event notification, the frame rate calculating unit 31 calculates a corresponding frame rate according to information in the event notification. For example, if the information included in the event notification is the content of calculating the frame rate before the increase, the frame rate calculating unit 31 acquires the time period from the start of monitoring to the time when the callback frequency increases, which is counted by the counting unit 22 in the callback monitoring module 2, and adds the time periods as shown in fig. 2, for example, t is t1+t2+……tn-1And counting the number F of the monitored signals acquired by the signal acquisition unit 21 of the callback monitoring module 2, dividing the number F by Fs/t, and converting the time unit into seconds, thereby obtaining a frame rate FPS. If the information contained in the event notification is the content of calculating the frame rate after the reduction, the information can be obtained by conversion according to the current callback frequency, such as the nth callback frequency 1/tnThe conversion of the time unit is performed, thereby obtaining the frame rate FPS.
Fig. 8 is an application diagram of an application fluency estimation system for user behavior according to an embodiment of the invention. In the embodiment, the evaluation module of the application fluency estimation system is located at the application server, and the user behavior detection module and the frame rate acquisition module are located at the user terminal. The detection module and the frame rate acquisition module in each user terminal respectively execute the functions in fig. 6, the frame rate acquisition module sends the acquired data of the frame rate, the frame rate event path and the like to the evaluation module of the application server, and the evaluation module estimates the fluency of the application according to the received data and a preset evaluation strategy.
Fig. 9 is a schematic diagram of an application of the frame rate monitoring system of the terminal according to an embodiment of the present invention. The terminal frame rate monitoring system corresponds to the user behavior detection module and the frame rate acquisition module located on the user terminal in fig. 8. For a user terminal, a plurality of apps may be installed inside the user terminal, and the frame rate monitoring system provided by this embodiment may monitor the frame rate of one application, and also the frame rate of each application in the user using process.
Each application is connected to a frame rate monitoring system. When an application is started, the frame rate monitoring system detects a touch screen operation of a user and determines which application is to be used according to the current screen content. After the frame rate event is monitored, the frame rate event, the corresponding frame rate, the event path and other data are recorded into the user log of the application, and the user log of the terminal is uploaded to the server side in real time or at regular time according to the management strategy.
The method and the device distinguish whether the application interface is static or not based on the operation behaviors of the user, such as the touch screen behavior. The method and the device can detect more unsmooth scenes directly influencing user experience, reduce the collection of useless data, improve the monitoring efficiency, provide refined monitoring data, improve the estimation accuracy of the application fluency, and facilitate subsequent application development and upgrading processes.
The above embodiments are provided only for illustrating the present invention and not for limiting the present invention, and those skilled in the art can make various changes and modifications without departing from the scope of the present invention, and therefore, all equivalent technical solutions should fall within the scope of the present invention.

Claims (21)

1. A method for estimating fluency of terminal application comprises the following steps:
detecting the operation behavior of a user on a terminal in the running process of the terminal application;
responding to the change of an application interface caused by the operation behavior of a user, and acquiring the frame rate of the terminal application; and
estimating fluency of the application based at least in part on the obtained frame rate.
2. The method of claim 1, further comprising: and acquiring the frame rate of the terminal application in the effective time period of the user operation behavior.
3. The method of claim 1, further comprising:
monitoring whether the frame rate of the terminal is changed or not caused by the operation behavior based on the operation behavior of the terminal by the user; and
and responding to the change of the frame rate, and acquiring the frame rate of the terminal application.
4. The method of claim 3, further comprising: when the frame rate of the terminal is monitored to be increased caused by the operation behavior, acquiring the frame rate before the increase; and when the frame rate of the terminal is reduced caused by the operation behavior is monitored, obtaining the reduced frame rate.
5. The method of claim 3, further comprising: when the frame rate changes, recording a frame rate event once, and recording the path of the frame rate event.
6. The method of claim 1, further comprising:
monitoring the choreograph callback frequency of the system; and
and responding to the change of the callback frequency, and acquiring the frame rate of the terminal application.
7. The method of claim 6, further comprising: and calculating callback frequency according to the occurrence time of the ChoroeGrapher callback.
8. The method of claim 6, further comprising: and determining callback frequency by counting the number of the chord graph callbacks acquired in unit time.
9. The method of claim 6, further comprising: a callback listener is created in the application for listening to the callbacks of the chord graph.
10. The method of claim 6, further comprising: in response to the increase in callback frequency, determining a period of time from the start of monitoring to when callback frequency increases; counting the callback times acquired in the time period; and calculating the ratio of the callback times to the time period to obtain the frame rate of the application.
11. The method of claim 6, further comprising: and responding to the reduction of the callback frequency, and calculating the frame rate of the application according to the reduced callback frequency.
12. A system for estimating fluency of a terminal application, comprising:
the user behavior detection module is configured to detect the operation behavior of a user on the terminal in the running process of the terminal application;
the frame rate acquisition module is configured to respond to the change of an application interface caused by the operation behavior of a user and acquire the frame rate of the terminal application; and
an evaluation module configured to estimate a fluency of the application based at least in part on the obtained frame rate.
13. The system of claim 12, wherein the frame rate acquisition module is configured to acquire a frame rate of the terminal application during which a trigger signal is valid in response to a trigger signal issued by the user behavior detection block during a user's operational behavior on a terminal.
14. The system of claim 12, wherein the frame rate acquisition module further comprises:
a frame rate monitoring unit configured to monitor whether a frame rate of the terminal changes due to the operation behavior, and record a frame rate event once when the frame rate changes; and
a frame rate calculation unit configured to calculate a frame rate of the terminal application in response to a change in frame rate.
15. The system of claim 14, the frame rate monitoring unit further comprising:
the signal acquisition subunit is configured to monitor the ChoroeGrapher callback and record the callback times when the operation behavior of the user on the terminal is detected;
a timing subunit configured to time when starting monitoring and to record an occurrence time of each chord graph callback;
a frequency calculation subunit configured to calculate a callback frequency according to the monitored callback times and the corresponding timing time; and
and the frequency monitoring subunit is configured to detect the callback frequency, determine whether the frame rate of the terminal changes according to whether the callback frequency changes, and record a frame rate event once when the callback frequency changes.
16. The system of claim 15, wherein the frequency calculation subunit is further configured to determine a callback time interval based on the occurrence of two callbacks, and to calculate the callback frequency for each callback based on the callback time interval.
17. The system of claim 15, wherein the frequency calculation subunit is configured to determine callback frequency by counting the number of callbacks obtained per unit time.
18. The system of claim 15, the signal acquisition unit being a callback listener registered in the application configured to listen for a choreograph callback.
19. The system of claim 15, wherein the frequency monitoring subunit is further configured to generate a first signal upon monitoring an increase in callback frequency caused by the operational behavior; the frame rate calculation unit is further configured to calculate, upon receiving the first signal, a frame rate before generating the first signal.
20. The system of claim 15, wherein the frequency monitoring subunit is further configured to generate a second signal when a decrease in the frequency monitoring subunit caused by the operational behavior is monitored; the frame rate calculation unit is further configured to calculate a frame rate after generating the second signal when receiving the second signal.
21. The system of claim 15, wherein the frame rate acquisition module further comprises: a data acquisition unit configured to acquire a path of the frame rate event when a terminal frame rate occurs.
CN202010131737.2A 2020-02-29 2020-02-29 Method and system for estimating fluency of terminal application Pending CN111444086A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010131737.2A CN111444086A (en) 2020-02-29 2020-02-29 Method and system for estimating fluency of terminal application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010131737.2A CN111444086A (en) 2020-02-29 2020-02-29 Method and system for estimating fluency of terminal application

Publications (1)

Publication Number Publication Date
CN111444086A true CN111444086A (en) 2020-07-24

Family

ID=71648849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010131737.2A Pending CN111444086A (en) 2020-02-29 2020-02-29 Method and system for estimating fluency of terminal application

Country Status (1)

Country Link
CN (1) CN111444086A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256223A (en) * 2020-10-20 2021-01-22 北京字节跳动网络技术有限公司 Display fluency adjusting method and device and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473011A (en) * 2013-09-03 2013-12-25 小米科技有限责任公司 Mobile terminal, and performance detecting method and performance detecting device for mobile terminal
CN106802935A (en) * 2016-12-29 2017-06-06 腾讯科技(深圳)有限公司 The method of testing and device of a kind of page fluency
CN110175062A (en) * 2019-05-20 2019-08-27 努比亚技术有限公司 A kind of screen-refresh frame per second method, mobile terminal and the storage medium of mobile terminal
CN110557627A (en) * 2018-05-31 2019-12-10 腾讯科技(深圳)有限公司 Performance monitoring method and device and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473011A (en) * 2013-09-03 2013-12-25 小米科技有限责任公司 Mobile terminal, and performance detecting method and performance detecting device for mobile terminal
CN106802935A (en) * 2016-12-29 2017-06-06 腾讯科技(深圳)有限公司 The method of testing and device of a kind of page fluency
CN110557627A (en) * 2018-05-31 2019-12-10 腾讯科技(深圳)有限公司 Performance monitoring method and device and storage medium
CN110175062A (en) * 2019-05-20 2019-08-27 努比亚技术有限公司 A kind of screen-refresh frame per second method, mobile terminal and the storage medium of mobile terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256223A (en) * 2020-10-20 2021-01-22 北京字节跳动网络技术有限公司 Display fluency adjusting method and device and electronic equipment
CN112256223B (en) * 2020-10-20 2024-04-19 北京字节跳动网络技术有限公司 Method and device for adjusting display fluency and electronic equipment

Similar Documents

Publication Publication Date Title
EP3019971B1 (en) Methods and systems for performance monitoring for mobile applications
US9684356B2 (en) Method for determining remaining service time of battery, client device and mobile terminal
CN107273130B (en) Method, device and terminal for accelerating interface drawing
CN104380769B (en) A kind of method, apparatus and electric terminal of information reminding
US9075457B2 (en) System and method for interfacing applications processor to touchscreen display for reduced data transfer
CN106510720B (en) User state prompting method and device
WO2012134465A1 (en) Quality of experience estimation
US11409389B2 (en) Method and computer program for monitoring touchscreen events of a handheld device
KR101395857B1 (en) Instant messaging service based on items of interest to users
CN111479016A (en) Terminal use duration reminding method and device, terminal and storage medium
CN111625456A (en) Stuck positioning method and device
CN112749013A (en) Thread load detection method and device, electronic equipment and storage medium
JP2015114970A (en) Information processor and information processing method
CN111444086A (en) Method and system for estimating fluency of terminal application
CN113806183B (en) Application clamping and processing method, device, equipment, storage medium and program product
CN113965496B (en) Method for optimizing screen-throwing process response
CN105139122B (en) The statistical method and system of program operation duration
CN104657253B (en) A kind of method and mobile terminal for showing visual cue
CN105955756A (en) Image erasing method and system
CN112566228A (en) Method and system for reducing equipment power consumption in network video conference
CN112687086B (en) Hand washing monitoring equipment and system
CN115390993A (en) Virtual machine memory processing method and device, electronic equipment and storage medium
CN108962375A (en) The physical condition detection method and intelligent closestool of duration are used based on closestool
CN107544668B (en) Behavior information validity determination method and device, electronic equipment and storage medium
CN107229384A (en) The display methods and device of message

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200724

WD01 Invention patent application deemed withdrawn after publication