CN106874168A - Determine method, device and the mobile terminal of application program runnability - Google Patents
Determine method, device and the mobile terminal of application program runnability Download PDFInfo
- Publication number
- CN106874168A CN106874168A CN201710021050.1A CN201710021050A CN106874168A CN 106874168 A CN106874168 A CN 106874168A CN 201710021050 A CN201710021050 A CN 201710021050A CN 106874168 A CN106874168 A CN 106874168A
- Authority
- CN
- China
- Prior art keywords
- application
- specified
- application program
- runnability
- frame per
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The present invention provides a kind of method and apparatus for determining application program runnability, monitors the startup event of specified application;In the running of the specified application, the service data of application interface is obtained to determine the operation fluency of application, obtain the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, obtain the time-consuming to determine that the operation applied takes of application activity component lifecycle function;The runnability of specified application described at least one determination in being taken according to the operation fluency, resource occupation degree or operation.Due to only monitoring the application program specified, thus can avoid carrying out all of application program overall monitoring, reduce data collection effort, improve data collection efficiency.And, by collecting the specified operation fluency applied, resource occupation degree and running the data such as time-consuming, can effectively improve and judge using the degree of accuracy of runnability.The present invention also provides a kind of mobile terminal.
Description
Technical field
The present invention relates to mobile terminal safety technical field, specifically, application program fortune is determined the present invention relates to one kind
The method of row performance, device and mobile terminal.
Background technology
With the popularization and the enhancing of function of intelligent mobile terminal (such as smart mobile phone and panel computer), user is for intelligence
The runnability requirement more and more higher of the application program installed in mobile terminal, therefore some monitoring softwares are occurred in that, these prisons
Control software collects application and operationally takes fortune and deposits or the data such as power consumption, so that judge the runnability of application has been installed,
And make corresponding prompting runnability rear line is determined.Some optimization softwares can also collect these data
On the basis of data are analyzed after optimize, it is to avoid these are applied and are running the performance of excessive influence mobile terminal.So
And, traditional monitoring software or optimization software is typically to carry out all of application overall Data Collection, so as to cause monitoring
Software or optimization software also operationally have influence on the performance of mobile terminal to a certain extent, and affect collection efficiency;And
And, the data of traditional monitoring software or optimization software monitoring are mainly fortune and deposit and power consumption, it is impossible to accurately determine to apply journey
Sort run performance.
Therefore, traditional monitoring software or optimization software existed on application program runnability is judged it is inefficient and
Accuracy defect not high.
The content of the invention
The purpose of the present invention is intended at least solve one of above-mentioned technological deficiency, and particularly inefficient technology lacks
Fall into.
The present invention provides a kind of method for determining application program runnability, comprises the following steps:
Monitor the startup event of specified application;
In the running of the specified application, obtain the service data of application interface to determine the operation of application
Fluency, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, obtains application activity group
The time-consuming operation to determine application of part life cycle function takes;
Specified described at least one determination in being taken according to the operation fluency, resource occupation degree or operation and apply journey
The runnability data of sequence.
Wherein in one embodiment, the system of the specified application operation is Android system, by monitoring
OnCreate () function recognizes the startup event of the specified application.
Wherein in one embodiment, the specified application includes default application program, starts the frequency more than the
The application program of one threshold value, the fortune for taking deposit the application program or game class application program more than Second Threshold.
Wherein in one embodiment, the service data of the application interface includes that application interface draws frame per second, using boundary
Iso-surface patch frame per second is closer to the refreshing frame per second for setting, and the operation fluency of application is higher.
Wherein in one embodiment, the drafting frame per second of the application interface is included in the largest frames in setting statistics duration
Rate, minimum frame per second peace frame per second.
Wherein in one embodiment, the system of the specified application operation is Android system, is passed through
Choreographer classes calculate the reception number of vertical synchronizing signal and the drafting frame number of application interface to obtain application circle
Iso-surface patch frame per second.
Wherein in one embodiment, the vertical synchronizing signal is VSync signals.
Wherein in one embodiment, by call number the painting with the interface that is applied for monitoring doFrame () method
Frame number processed.
Wherein in one embodiment, the system resource is CPU, and the resource occupation degree is CPU usage.
Wherein in one embodiment, the occupancy duration for obtaining specified demand for system resources includes:
The process of specifying is obtained in setting cycle to the occupancy duration of CPU.
Wherein in one embodiment, the system of the specified application operation is Android system, in setting cycle
CPU usage use=t1/t2;Wherein, t1 be the specified process in setting cycle to the occupancy duration of CPU, t2 is to set
CPU total occupied duration in fixed cycle.
Wherein in one embodiment, t1=p2SumTime-p1SumTime;Wherein, p1SumTime for the cycle start when
The holding time to CPU of the specified process is carved, p2SumTime is specified process described in the end cycle moment to CPU's
Holding time;
And holding time=the utime+stime+cutime+cstime to CPU of the specified process;
Pass through/proc/<pid>/ stat directory paths obtain utime, stime, cutime and cstime, wherein<pid>
Represent the process number of the process of specifying.
Wherein in one embodiment, t2=secondCpuSumTime-firstCpuSumTime;Wherein,
FirstCpuSumTime is start time in cycle CPU total occupied times, and secondCpuSumTime is the end cycle moment
CPU total occupied time;
And CPU total occupied time=
user+nice+system+idle+ioWait+irq+softIrq+stealStolen+guest;
Pass through/proc/stat directory paths obtain user, nice, system, idle, ioWait, irq, softIrq,
stealStolen、guest。
Wherein in one embodiment, the system of the specified application operation is Android system, the application activity
Component lifecycle function includes onCreate () function, onStart () function, onResume () function, onPause () letter
Number, onStop () function, OnDestroy () function function a kind of at least within.
Wherein in one embodiment, the application activity component is given birth to by using the monitoring of Instrumentation classes
Calling for periodic function is ordered, to monitor the time-consuming of the application activity component lifecycle function.
Wherein in one embodiment, entered by way of variable mInstrumentation is replaced with into custom object
Row monitoring.
Wherein in one embodiment, after determining the runnability data of the specified application, also including step:
By the runnability data is activation of the specified application to cloud server.
Wherein in one embodiment, by the runnability data is activation of the specified application to high in the clouds process bag
Include:
By the runnability data of the specified application, the attribute information of the specified application, the machine attribute
Information is sent to cloud server.
Wherein in one embodiment, the attribute information of the specified application includes the bag of the specified application
Name and application version number.
Wherein in one embodiment, the machine attribute information includes the brand message and model information of the machine.
Wherein in one embodiment, also including step:
Submitted to cloud server and distribute request rationally comprising the machine attribute information and native application list;
It is the application program that the cloud server is received according to the runnability data of the application program of collection in advance
The weighted list of list match, includes the weight of each application program of the machine in the weighted list;
The operation resource of each application program is adjusted according to the weight of each application program in the weighted list.
Wherein in one embodiment, also including step:
The application program recommendation request comprising the machine attribute information is submitted to cloud server;
Receive the application program that the cloud server is formulated according to the runnability data of the application program of collection in advance
Recommendation list;
All application programs of recommended download are shown according to the application program recommendation list.
The present invention also provides a kind of device for determining application program runnability, and it includes:
Monitor module, the startup event for monitoring specified application;
Acquisition module, in the running of the specified application, obtain the service data of application interface with
It is determined that the operation fluency of application, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application,
The time-consuming operation to determine application for obtaining application activity component lifecycle function takes;
Determining module, for according to described at least one determination run during fluency, resource occupation degree or operation take
The runnability data of the specified application.
Wherein in one embodiment, the system of the specified application operation is Android system, the monitoring module
The startup event of the specified application is recognized by monitoring onCreate () function.
Wherein in one embodiment, the specified application includes default application program, starts the frequency more than the
The application program of one threshold value, the fortune for taking deposit the application program or game class application program more than Second Threshold.
Wherein in one embodiment, the service data of the application interface includes that application interface draws frame per second, using boundary
Iso-surface patch frame per second is closer to the refreshing frame per second for setting, and the operation fluency of application is higher.
Wherein in one embodiment, the drafting frame per second of the application interface is included in the largest frames in setting statistics duration
Rate, minimum frame per second peace frame per second.
Wherein in one embodiment, the system of the specified application operation is Android system, the acquisition module
Calculate the reception number of vertical synchronizing signal and the drafting frame number of application interface to obtain described answering by Choreographer classes
Frame per second is drawn with interface.
Wherein in one embodiment, the vertical synchronizing signal is VSync signals.
Wherein in one embodiment, the acquisition module is by monitoring the call number of doFrame () method to obtain
The drafting frame number of application interface.
Wherein in one embodiment, the system resource is CPU, and the resource occupation degree is CPU usage.
Wherein in one embodiment, the acquisition module is accounted in setting cycle for obtaining specified process to CPU
Use duration.
Wherein in one embodiment, the system of the specified application operation is Android system, in setting cycle
CPU usage use=t1/t2;Wherein, t1 be the specified process in setting cycle to the occupancy duration of CPU, t2 is to set
CPU total occupied duration in fixed cycle.
Wherein in one embodiment, t1=p2SumTime-p1SumTime;Wherein, p1SumTime for the cycle start when
The holding time to CPU of the specified process is carved, p2SumTime is specified process described in the end cycle moment to CPU's
Holding time;
And holding time=the utime+stime+cutime+cstime to CPU of the specified process;
The acquisition module passes through/proc/<pid>/ stat directory paths obtain utime, stime, cutime and
Cstime, wherein<pid>Represent the process number of the process of specifying.
Wherein in one embodiment, t2=secondCpuSumTime-firstCpuSumTime;Wherein,
FirstCpuSumTime is start time in cycle CPU total occupied times, and secondCpuSumTime is the end cycle moment
CPU total occupied time;
And CPU total occupied time=
user+nice+system+idle+ioWait+irq+softIrq+stealStolen+guest;
The acquisition module passes through/proc/stat directory paths obtain user, nice, system, idle, ioWait,
irq、softIrq、stealStolen、guest。
Wherein in one embodiment, the system of the specified application operation is Android system, the application activity
Component lifecycle function includes onCreate () function, onStart () function, onResume () function, onPause () letter
Number, onStop () function, OnDestroy () function function a kind of at least within.
Wherein in one embodiment, the acquisition module is monitored by using Instrumentation classes and answered described
With calling for movable component life cycle function, to monitor the time-consuming of the application activity component lifecycle function.
Wherein in one embodiment, the acquisition module is self-defined by the way that variable mInstrumentation replaced with
The mode of object is monitored.
Wherein in one embodiment, also including sending module;The sending module is used for:Determine in the determining module
After the runnability data of the specified application, by the runnability data is activation of the specified application to high in the clouds
Server.
Wherein in one embodiment, the sending module is used for:By the runnability data of the specified application,
The attribute information of the specified application, the machine attribute information are sent to cloud server.
Wherein in one embodiment, the attribute information of the specified application includes the bag of the specified application
Name and application version number.
Wherein in one embodiment, the machine attribute information includes the brand message and model information of the machine.
Wherein in one embodiment, also including submitting module, receiver module and processing module to:
It is described to submit to the module to be used to be submitted to comprising the machine attribute information and native application list to cloud server
Distribute request rationally;
The receiver module is used to receive runnability number of the cloud server according to the application program of collection in advance
According to the weighted list matched for described the application list, the weight of each application program of the machine is included in the weighted list;
The processing module is used to be adjusted according to the weight of each application program in the weighted list fortune of each application program
Row resource.
Wherein in one embodiment, also including submitting module, receiver module and processing module to:
It is described to submit module to for submitting the application program recommendation request comprising the machine attribute information to cloud server;
The receiver module is used to receive runnability number of the cloud server according to the application program of collection in advance
According to the application program recommendation list formulated;
The processing module is used to be shown according to the application program recommendation list all application programs of recommended download.
The present invention also provides a kind of mobile terminal, and it includes:
Touch-sensitive display;
One or more processors;
Memory;
One or more application programs, wherein one or more of application programs are stored in the memory and quilt
It is configured to by one or more of computing devices, one or more of programs are configured to:Perform any embodiment institute
The method of the determination application program runnability stated.
The method of above-mentioned determination application program runnability, device and mobile terminal, monitor opening for specified application
Dynamic event;In the running of the specified application, obtain the service data of application interface to determine the operation of application
Fluency, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, obtains application activity group
The time-consuming operation to determine application of part life cycle function takes;According to the operation fluency, resource occupation degree or operation
The runnability of specified application described at least one determination in time-consuming.Due to only monitoring the application program specified (to end
The larger application program of end performance impact, such as default application program, conventional application program, occupancy fortune deposit application journey high
Sequence or game class application program), thus can avoid carrying out all of application program overall monitoring, reduce Data Collection work
Make, improve data collection efficiency.And, specify operation fluency, resource occupation degree and the operation of application time-consuming by collecting
Etc. data, from UI angles, resource consumption angle and it is time-consuming judgement comprehensively more angularly is analyzed to application, Ke Yiyou
Effect improves the degree of accuracy for judging application runnability.
The additional aspect of the present invention and advantage will be set forth in part in the description, and these will become from the following description
Obtain substantially, or recognized by practice of the invention.
Brief description of the drawings
The above-mentioned and/or additional aspect of the present invention and advantage will become from the following description of the accompanying drawings of embodiments
Substantially and be readily appreciated that, wherein:
Fig. 1 is the method flow diagram of the determination application program runnability of one embodiment;
Fig. 2 is the flow chart of one embodiment of step S200 in Fig. 1 embodiments;
Fig. 3 is the schematic device of the determination application program runnability of one embodiment;
Fig. 4 is the acquisition module schematic diagram of one embodiment;
Fig. 5 is illustrated that the block diagram of the part-structure of the mobile phone related to terminal provided in an embodiment of the present invention.
Specific embodiment
Embodiments of the invention are described below in detail, the example of the embodiment is shown in the drawings, wherein from start to finish
Same or similar label represents same or similar element or the element with same or like function.Below with reference to attached
It is exemplary to scheme the embodiment of description, is only used for explaining the present invention, and is not construed as limiting the claims.
Those skilled in the art of the present technique are appreciated that unless expressly stated, singulative " " used herein, " one
It is individual ", " described " and " being somebody's turn to do " may also comprise plural form.It is to be further understood that what is used in specification of the invention arranges
Diction " including " refer to the presence of the feature, integer, step, operation, element and/or component, but it is not excluded that in the presence of or addition
One or more other features, integer, step, operation, element, component and/or their group.It should be understood that when we claim unit
Part is " connected " or during " coupled " to another element, and it can be directly connected or coupled to other elements, or can also exist
Intermediary element.Additionally, " connection " used herein or " coupling " can include wireless connection or wireless coupling.It is used herein to arrange
Diction "and/or" includes one or more associated wholes or any cell of listing item and all combines.
Those skilled in the art of the present technique are appreciated that unless otherwise defined, all terms used herein (including technology art
Language and scientific terminology), with art of the present invention in those of ordinary skill general understanding identical meaning.Should also
Understand, those terms defined in such as general dictionary, it should be understood that with the context with prior art
The consistent meaning of meaning, and unless by specific definitions as here, will not otherwise use idealization or excessively formal implication
To explain.
Those skilled in the art of the present technique are appreciated that " terminal " used herein above, " terminal device " both include wireless communication
The equipment of number receiver, the equipment of its wireless signal receiver for only possessing non-emissive ability, and including receiving and transmitting hardware
Equipment, its have can on both-way communication link, perform both-way communication reception and transmitting hardware equipment.This equipment
Can include:Honeycomb or other communication apparatus, it has single line display or multi-line display or is shown without multi-line
The honeycomb of device or other communication apparatus;PCS (Personal Communications Service, person communication system), it can
With combine voice, data processing, fax and/or data communication capabilities;PDA (Personal Digital Assistant, it is personal
Digital assistants), it can include radio frequency receiver, pager, the Internet/intranet access, web browser, notepad, day
Go through and/or GPS (Global Positioning System, global positioning system) receiver;Conventional laptop and/or palm
Type computer or other equipment, its have and/or conventional laptop and/or palmtop computer including radio frequency receiver or its
His equipment." terminal " used herein above, " terminal device " they can be portable, can transport, installed in the vehicles (aviation,
Sea-freight and/or land) in, or be suitable for and/or be configured in local runtime, and/or with distribution form, operate in the earth
And/or any other position operation in space." terminal " used herein above, " terminal device " can also be communicating terminal, on
Network termination, music/video playback terminal, for example, can be PDA, MID (Mobile Internet Device, mobile Internet
Equipment) and/or the equipment such as mobile phone, or intelligent television, Set Top Box with music/video playing function.
Those skilled in the art of the present technique are appreciated that remote network devices used herein above, and it includes but is not limited to meter
The cloud that calculation machine, network host, single network server, multiple webserver collection or multiple servers are constituted.Here, Yun Youji
Constituted in a large amount of computers or the webserver of cloud computing (Cloud Computing), wherein, cloud computing is Distributed Calculation
One kind, a super virtual computer being made up of the computer collection of a group loose couplings.In embodiments of the invention, distal end
Can realize communicating by any communication modes between the network equipment, terminal device and WNS servers, including but not limited to, be based on
The mobile communication of 3GPP, LTE, WIMAX, based on TCP/IP, the computer network communication of udp protocol and based on bluetooth, infrared
The low coverage wireless transmission method of transmission standard.
The method and apparatus for determining application program runnability described below, can apply to be provided with moving operation system
The mobile terminal of system, for example, be applied to mobile phone, the panel computer of Android system etc. mobile terminal, can be with third-party application journey
The form of sequence occurs.In the following description, Mobile operating system is explained by taking Android system as an example, and third party application is
Client in mobile terminal, abbreviation client in below illustrating.
Fig. 1 is the method flow diagram of the determination application program runnability of one embodiment.
The present invention provides a kind of method for determining application program runnability, comprises the following steps:
Step S100:Monitor the startup event of specified application.
For Android system, each application program is all in some state, and the state is (living by Activity
It is dynamic) reflection, therefore developer can know application program status by monitoring Activity function of states.Activity shapes
State function mainly has:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart
()、onDestroy()。
When Activity starts for the first time, onCreate () method is triggered, can at this moment complete Activity
Initial work.OnCreate () method has a parameter, and the parameter can be sky (null), or call before
The status information that onSaveInstanceState () method is preserved.System calls onSaveInstanceState () the method
When, it is allowed to activity preserve before state, such as the location of cursor in a string of character strings etc..Under normal circumstances,
Developer need not rewrite covering the method, in the realization of acquiescence, there has been provided automatically save the use involved by activity
All status informations of family interface assembly.
Therefore, client can recognize the startup event of the specified application by monitoring onCreate () function.
I.e. when a certain specified application starts (either user actively goes to click on and still applies automatic), generation is started into thing
Part, therefore client can recognize the startup of the specified application by monitoring startup event.
Specified application refers to designated good application program, and here specified both can be that user voluntarily specifies
, can also be preassigned by developer, or specified by automatic after specific logic analysis.For example, one
A little users or developer think the application for needing to monitor its runnability, can list monitoring in as default application program
List is monitored.And some conventional applications or the larger application of influence systematic function, it is also possible to by specific logic point
Analysis determines and it is monitored.For example, if starting the frequency (frequency or number of times) exceedes first threshold, the application program is just
Conventional application, such as wechat, QQ can be identified as;If the fortune for taking is deposited more than Second Threshold, the application program just can be with
It is identified as the application for influenceing systematic function larger, such as Alipay;Game class application program can also be identified as influence systematicness
Can larger application, such as king's honor, pass through live wire etc. game.
After these default applications, conventional application or the larger application of influence systematic function start, client just can be with
Data Collection is carried out to it by step S200.
Step S200:In the running of the specified application, obtain the service data of application interface to determine to answer
Operation fluency, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, and obtaining should
Taken with the time-consuming operation to determine application of movable component life cycle function.
Specified application is disappeared after starting and running by UI (User Interface, user interface) angle, resource
Consume angle and take and judgement is angularly more comprehensively analyzed to specified application, judgement can be effectively improved and specified
Using the degree of accuracy of runnability.Therefore, step S200 can be in no particular order including three steps:Step S210, step
S220 and step S230.Fig. 2 is the flow chart of one embodiment of step S200 in Fig. 1 embodiments.
Data Collection under UI angles is described first.UI is object of the application program closest to user, collects the fortune of UI
Row data can monitor for example smooth degree of ruuning situation of UI, so as to can subsequently be carried out to application according to these service datas
Optimization, improves Consumer's Experience.
Step S210:The service data of application interface is obtained to determine the operation fluency of application.
The service data of application interface includes that application interface draws frame per second.Application interface draws brush of the frame per second closer to setting
New frame per second, the operation fluency of application is higher.Android system can send vertical synchronizing signal and redraw application interface every 16ms, because
For the refreshing frame per second of Android system setting is 60FPS, that is, 60 frame per second refreshing frame per second, be roughly equal to 16ms and refresh once.
I.e. application program ought to just draw an interface often receiving a vertical synchronizing signal, will yet with an interface is drawn
Input (input), Animation (animation), three steps of Draw (drafting) are sequentially passed through, therefore for some complicated boundaries
Face, possible 16ms e insufficient to complete above three step, consequently, it is possible to causing frame losing phenomenon occur, interim card occurs.Therefore, should
The refreshing frame per second (60FPS) for being less than with the actual drafting frame per second of program or being set equal to Android system, application interface is drawn
, closer to the refreshing frame per second for setting, the operation fluency of application is higher, typically the actual drafting frame per second of application program for frame per second
Equal to Android system set refreshing frame per second when can consider fluency highest.
The drafting frame per second of application interface is included in maximum frame per second, minimum frame per second peace frame per second in setting statistics duration.
Client is carved when data are collected at the beginning of can collecting maximum frame per second, minimum frame per second, average frame per second, setting statistics duration
With the finish time of setting statistics duration.For example, setting statistics when a length of 10 seconds, will this setting statistics duration in be divided into 10 it is long
It is the measurement period of 1 second, the drafting frame per second of this 10 measurement periods is counted respectively, then can be obtained by 10 drafting frame per second,
Client is drawn frame per second calculation of falling into a trap from this 10 and obtains maximum frame per second, minimum frame per second peace frame per second again.Generally use average frame per second
Refreshing frame per second with setting is contrasted, and average frame per second is with the refreshing frame per second for setting closer to the smoothness that then application interface runs
Degree is higher.Or, client counts this 10 drafting frame per second, with the refreshing frame per second of setting among drawing frame per second when this 10
Difference with N number of, then can determine the smoothness of application interface less than preset difference value (size is set by developer, such as 2FPS)
Degree is the fluency CLASS-N associated with N.For example, there is the difference of the refreshing frame per second of 8 and setting among this 10 drafting frame per second
Less than preset difference value, it is determined that fluency is 80%;There is the difference of the refreshing frame per second of 10 and setting among this 10 drafting frame per second
Value is less than preset difference value, it is determined that fluency is 100%.
In Android system, client can calculate the reception number of vertical synchronizing signal by Choreographer classes
With the drafting frame number of application interface frame per second is drawn to obtain the application interface.The source code of Choreographer is located at
It is a view layers of part for framework in android.view this pakage.In existing Android system, vertical synchronizing signal
Be VSync signals, can by monitoring the call number of doFrame () method with the drafting frame number at the interface that is applied because
DoFrame () method can all be called when a new frame application interface is drawn.
Step S220:The occupancy duration of specified demand for system resources is obtained to determine the resource occupation degree of application.System
Resource can be that fortune is deposited, network traffics, CPU etc. are using the resource for providing by system.In the present embodiment, the system resource
It is CPU, resource occupation degree is CPU usage.
The process of specifying, is the main steps or all processes of specified application.For example, for wechat, specify into
Journey can be the main steps com.tencent.mm of wechat;For QQ, specified process can be the main steps of QQ
com.tencent.mobileqq.In the present embodiment, it is the main steps of specified application to specify process, and client can be with
Determine to specify process by obtaining the process title or process number of the main steps of application program.
Obtaining the process of the occupancy duration for specifying demand for system resources can be:Acquisition specifies process in setting cycle
To the occupancy duration of CPU.Setting cycle is set by developer, for example, can be 3 seconds, the time span of the second rank such as 6 seconds.
The CPU usage use obtained in setting cycle can be obtained using below equation:
Use=t1/t2;
Wherein, t1 be the specified process in setting cycle to the occupancy duration of CPU, t2 is that CPU is total in setting cycle
Occupied duration.And the computing formula of t1 is as follows:
T1=p2SumTime-p1SumTime;
Wherein, p1SumTime is the holding time to CPU of start time in the cycle specified process, and p2SumTime is week
Finish time phase the specified process the holding time to CPU.A certain process is calculated in the holding time to CPU, i.e., equivalent to
Calculate use time of a certain process to CPU.In Android system, when can calculate the occupancy to CPU by below equation
Between SumTime:
SumTime=utime+stime+cutime+cstime;
Wherein, utime represents the time that the process is run in User space, and stime represents what the process was run in kernel mode
Time, cutime represents the time that all threads in heaven run in User space, and cstime represents all in heaven in kernel mode operation
Time.
In Android system ,/proc/ can be passed through<pid>/ stat directory paths obtain utime, stime, cutime and
Cstime, wherein<pid>Represent the process number of the process of specifying.
/ proc file system is a pseudo file system, and it is only existed in the middle of internal memory, and is not take up external space.It with
The mode of file system provides the interface for communicating for kernel and process.User and application program can pass through/and proc obtains system
Information, it is possible to change some parameters of kernel.It is that dynamic changes, so user due to the information (such as process) of system
Or during file in application program reading/proc catalogues, proc file system is that dynamic reads information needed simultaneously from system kernel
Submit to.There are some in/proc catalogues with the catalogue of numerical designation, they are process catalogues.Current operation is each in system
Individual process all corresponds to a catalogue/proc/pid with process number (being represented with pid) as directory name under/proc, and they are readings
Take the interface of progress information.
Therefore, in start time in cycle, client passes through/proc/<pid>/ stat directory paths acquisition utime,
, then be added for four parameters and obtain p1SumTime by tetra- parameters of stime, cutime, cstime;At the end cycle moment, then
, then be added for four parameters and obtain p2SumTime by secondary acquisition tetra- parameters of utime, stime, cutime, cstime.
The computing formula of t2 is as follows:
T2=secondCpuSumTime-firstCpuSumTime;
Wherein, firstCpuSumTime is start time in cycle CPU total occupied times, secondCpuSumTime
It is end cycle moment CPU total occupied times.In Android system, the quilt total to CPU can be calculated by below equation
Holding time CpuSumTime:
CpuSumTime=user+nice+system+idle+ioWait+irq+softIrq+stea lStolen+
guest;
Wherein, user is to be accumulated to run time of the current time in User space since system starts (not including
Nice values are negative process).Nice is that current time nic e values are accumulated to since system starts shared by negative process
CPU time.System is that run time of the current time in kernel mode is accumulated to since system starts.Idle is from system
Startup starts to be accumulated to other stand-by period of current time in addition to I/O latency.Iowait is to tire out since system starts
Count the I/O latency to current time.Irq is to be accumulated to the hard break time at current time since system starts.so ftirq
It is to be accumulated to the traps time at current time since system starts.Stealstolen be in virtualized environment operation when
The time spent in other operating systems.It is client operating system operation virtual cpu institute under linux kernel control that guest is
The time of cost.
In Android system, can pass through/proc/stat directory paths obtain user, nice, system, idle,
IoWait, irq, softIrq, stealStolen, guest this 9 parameters.This stat under/proc/stat directory paths
The information of all cpu activities is contained in file.Therefore, in start time in cycle, client passes through/proc/stat catalogues road
Footpath obtains user, nice, system, idle, ioWait, irq, softIrq, stealStolen, guest this 9 parameters, so
This 9 parameters are added afterwards obtain firstCpuSumTime;At the end cycle moment, client obtain again user, nice,
, then be added for this 9 parameters by system, idle, ioWait, irq, softIrq, stealStolen, guest this 9 parameters
Obtain secondCpuSumTime.
Then, client can obtain the CPU usage in setting cycle by formula use=t1/t2.
Step S230:The time-consuming operation to determine application for obtaining application activity component lifecycle function takes.In peace
In tall and erect system, the application activity component lifecycle function includes onCreate () function, onStart () function, onResume
() function, onPause () function, onStop () function, OnDestroy () function function a kind of at least within.If for example,
Monitoring specified application takes in the operation of start-up course, and client can be by obtaining the time-consuming of onCreate () function
To determine.
In certain embodiments, client can be by using the monitoring of Instrumentation classes to the application activity group
Part life cycle function is called, to monitor the time-consuming of the application activity component lifecycle function.
Instrumentation is located under android.app bags, and catalogue at the same level is in Activity.It is Android
A series of set of the control methods inside system, is commonly called as hook hooks.These hook can be in normal life cycle function
Outer control Android controls operation.For example, to start a certain activity, the normal life cycles of activity be by
What Intent started, activity is in itself that cannot call the correlation technique such as onCreate (), onStrart () in life cycle
's;At this moment activity can just call the getActivity () method of Instrumentation API to start
activity。
In certain embodiments, supervised by way of variable mInstrumentation is replaced with into custom object
Control.Some embodiments are below described:
For each application program, its main entrance is all the main methods of ActivityThread.Each
The process of application has an ActivityThread object, and each ActivityThread object has one
Instrumentation mInstrumentation member variables.The initialization of mInstrumentation exists
In the handleBindApplication functions of ActivityThread.
If certain application want self-defined instrumentation and for track the application in this application and
Activity life cycles, realize Instrumentation and reflect modification by succession
The method of ActivityThread.mInstrumentation can accomplish.The following is specific practice:
1st, self-defined Instrumentation:
class MyInstrumentation extends Instrumentation{...};
2nd, modification ActivityThread.mInstrumentation is called in reflection:
MyInstrumentation ins=new MyInstrumentation ();
Class cls=Class.forName (" android.app.ActivityThread ");
//ActivityThread is hidden, so obtaining class objects in this way
Method mthd=cls.getDeclaredMethod (" currentActivityThread ", (Class [])
null);// obtain current ActivityThread object references
Object currentAT=mthd.invoke (null, (Object []) null);
Field mInstrumentation=currentAT.getClass () .getDeclaredField (" mIn
strumentation");
mInstrumentation.setAccessible(true);
mInstrumentation.set(currentAT,ins);// modification ActivityThread.mInstrume
Ntation values
So far can be tracked by custom object MyInstrumentation using the life of interior application movable component
Cycle, to monitor the time-consuming of the application activity component lifecycle function.
By step S200, operation fluency, resource occupation degree and the operation that client has got specified application are time-consuming,
Then step S300 is performed.
Step S300:According to the operation fluency, resource occupation degree or operation it is time-consuming at least one determination this specify
The runnability data of application program.Generally it is more by operation fluency, resource occupation degree and time-consuming three aspect one of operation
Play the runnability of overall merit specified application.
In theory, the operation fluency of specified application (brush of the application interface drafting frame per second closer to setting higher
New frame per second), resource occupation degree fewer (CPU usage is lower), operation take fewer (life cycle function time-consuming fewer), then
The runnability of the specified application is better.However, by so not fine in reality, because as user is to picture
It is required that constantly increase, application interface is typically more complicated, it is necessary to largely take CPU to draw interface.Therefore common situation
E.g. resource occupation degree more at most runs that fluency is higher, the time-consuming then operation fluency more long of operation is lower.Therefore, from operation
When fluency, resource occupation degree and operation take this three aspect come the runnability for evaluating specified application, can be in operation
Fluency and operation take and weight higher are given in two aspects, and the weight relatively low in resource occupation degree this aspect
A bit.
If representing operation fluency with S, C represents resource occupation degree, and T represents operation and takes, and is only considering that S, C, T come
In the case of judging the runnability of application program, then the runnability K=S*x1-C*x2-T*x3 of application program, wherein x1,
X2, x3 are weight coefficient.X1, x2, x3 sum can be 1, and x1 and x3 can be bigger than x2 in certain embodiments.
After determining the runnability of specified application, client can according to the runnability of specified application to
Family sends suitable suggestion, for example, unload the application or limit the application, or directly optimizes.Client can also be to user
Show the data such as the operation fluency of specified application, resource occupation degree, operation be time-consuming so that user has and intuitively feels
Receive.
In certain embodiments, determine after the runnability data of specified application, client will can also be specified
The runnability data is activation of application program to cloud server, by cloud server according to runnability data to client
Optimisation strategy is sent, for example, is unloaded the application or is limited the application.
Because different hardware has different runnabilities to application program, therefore the specified application different editions can
Can be applicable different terminal models.Therefore, cloud server can collect substantial amounts of different type of machines and run various versions
Runnability data during application program, then judge that what type is applicable the application of what version, so as under other users
Suggestion can be sent when carrying the application program or directly for it selectes a certain version to it.And, cloud server can be with
For a certain type sets appropriate optimisation strategy and the download suggestion for different hardware when a certain version application program is run.
If for example, there is type A, the specified application has version V1, V2, V3, the big data that high in the clouds passes through collection
(type, application package name, the corresponding relation of application version number, runnability) is analyzed, and determines the specified application
Program is more preferable (such as more smooth or occupying system resources are less) than running the runnability of V3 versions in A operation V1, V2 versions,
Then can to A send suggestion or directly be its selected V1 or V2 version;If A is mounted with V3 versions, can be to A suggestions more
Plate change sheet is that A sets appropriate optimisation strategy, and for example, A distributes more system resources.
Therefore, cloud server is in order to obtain on type, application package name, application version number, runnability
The big data of the corresponding relation of data is, it is necessary to client uploads shifting simultaneously when the runnability data of specified application are uploaded
The type of dynamic terminal, application package name, application version number, namely client can be by the maneuverability of specified application
Energy data, the attribute information of specified application, the machine attribute information are sent to cloud server, so that cloud server makes
Optimisation strategy for specified application and the download suggestion for different hardware, the attribute information of specified application include
The bag name and application version number of specified application, the machine attribute information include the brand message and model information of the machine.Upload
To after cloud server, cloud server can be by the bag of specified application name, application version number, runnability data, sheet
The brand message and model information of machine are stored with tabular form.
After cloud server obtains above-mentioned big data, corresponding clothes can be provided for users using above-mentioned big data
Business, for example, provide corresponding optimisation strategy and application program is recommended.
Therefore, in certain embodiments, the method for determining application program runnability can also comprise the following steps:
Submitted to cloud server and distribute request rationally comprising the machine attribute information and native application list.Receive cloud service
The runnability data of the application program that device foundation is gathered in advance are the weighted list of the application list matching, in the weight
Include the weight of each application program of the machine in list.Each application journey is adjusted according to the weight of each application program in the weighted list
The operation resource of sequence.
The n application program such as APP1, APP2, APP3~APPn is for example installed, type A takes to high in the clouds in a certain type A
Business device is submitted to and distributes request rationally comprising the machine attribute information (model information A) and native application list.Cloud service
The runnability data on APP1, APP2, APP3~APPn that device is sent according to the advance mobile terminal from a large amount of types,
Know that wherein which APP needs to distribute more system operation resources, be then the corresponding weight row of these APP matching generations
Table, this weighted list is (for example to find that APP1, APP2 need more systems for adjusting the operation resource of each application program
Operation resource, then improve the weight of APP1, APP2 in weighted list) so that type A can respectively should according in the weighted list
The operation resource (for example, APP1, APP2 distribute more system operation resources) of each application program is adjusted with the weight of program.
And in other embodiment, the method for determining application program runnability can also include following step
Suddenly:The application program recommendation request comprising the machine attribute information is submitted to cloud server.Receive the cloud server foundation
The application program recommendation list that the runnability data of the application program of collection are formulated in advance.Recommend to arrange according to the application program
Table shows all application programs of recommended download.
Which such as a certain type A can inquire about by client (such as the form of application market) to cloud server should
It is adapted to the machine with program, then type A can submit the application journey comprising the machine attribute information (model information A) to cloud server
Sequence recommendation request, then cloud server is according to the relevant every kind of APP classifications sent from the mobile terminal of a large amount of types in advance
In every kind of producer APP runnability data, in recommending every kind of APP classifications to type A in the way of application program recommendation list
The optimal APP of runnability.Such as cloud server finds the operation of Qihoo mobile phone browser APP in browser APP classifications
Performance is optimal, then recommend Qihoo mobile phone browser APP to type A in browser APP classifications.So, type A receive this should
After with program recommendation list, all application programs of recommended download are shown according to the application program recommendation list.Such as list
In have a N kind APP classifications, every kind of classification recommends 3 kinds of optimal APP of runnability in type A.
Service is provided to mobile terminal according to big data by above-mentioned cloud server, Consumer's Experience can be effectively improved.
Fig. 3 is the schematic device of the determination application program runnability of one embodiment.
The method of the above-mentioned determination application program runnability of correspondence, the present invention also provides a kind of determination application program operation
The device of performance, is applied to mobile terminal, and it includes monitoring module 100, acquisition module 200 and determining module 300.
Monitoring module 100 is used to monitor the startup event of specified application;Acquisition module 200 is used in the specified application
In the running of program, obtain the service data of application interface to determine the operation fluency of application, obtain and specify process pair
The occupancy duration of system resource determining the resource occupation degree of application, obtain application activity component lifecycle function it is time-consuming with
It is determined that the operation of application takes;Determining module 300 be used for according to the operation fluency, resource occupation degree or operation it is time-consuming in extremely
One item missing determines the runnability of the specified application.
Monitor the startup event that module 100 monitors specified application.
For Android system, each application program is all in some state, and the state is (living by Activity
It is dynamic) reflection, therefore developer can know application program status by monitoring Activity function of states.Activity shapes
State function mainly has:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart
()、onDestroy()。
When Activity starts for the first time, onCreate () method is triggered, can at this moment complete Activity
Initial work.OnCreate () method has a parameter, and the parameter can be sky (null), or call before
The status information that onSaveInstanceState () method is preserved.System calls onSaveInstanceState () the method
When, it is allowed to activity preserve before state, such as the location of cursor in a string of character strings etc..Under normal circumstances,
Developer need not rewrite covering the method, in the realization of acquiescence, there has been provided automatically save the use involved by activity
All status informations of family interface assembly.
Therefore, monitoring module 100 can recognize the startup thing of the specified application by monitoring onCreate () function
Part.Namely when a certain specified application starts (either user actively goes to click on and still applies automatic), will generate
Startup event, therefore monitoring module 100 can recognize the startup of the specified application by monitoring startup event.
Specified application refers to designated good application program, and here specified both can be that user voluntarily specifies
, can also be preassigned by developer, or specified by automatic after specific logic analysis.For example, one
A little users or developer think the application for needing to monitor its runnability, can list monitoring in as default application program
List is monitored.And some conventional applications or the larger application of influence systematic function, it is also possible to by specific logic point
Analysis determines and it is monitored.For example, if starting the frequency (frequency or number of times) exceedes first threshold, the application program is just
Conventional application, such as wechat, QQ can be identified as;If the fortune for taking is deposited more than Second Threshold, the application program just can be with
It is identified as the application for influenceing systematic function larger, such as Alipay;Game class application program can also be identified as influence systematicness
Can larger application, such as king's honor, pass through live wire etc. game.
After these default applications, conventional application or the larger application of influence systematic function start, client obtains mould
Block 200 just can carry out Data Collection to it.
Acquisition module 200 obtains the service data of application interface to determine in the running of the specified application
The operation fluency of application, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, obtains
The time-consuming operation to determine application of application activity component lifecycle function takes.
Specified application is disappeared after starting and running by UI (User Interface, user interface) angle, resource
Consume angle and take and judgement is angularly more comprehensively analyzed to specified application, judgement can be effectively improved and specified
Using the degree of accuracy of runnability.Therefore, acquisition module 200 can include first acquisition unit 210, second acquisition unit 220
With the 3rd acquiring unit 230.Fig. 4 is the acquisition module schematic diagram of one embodiment;
Data Collection under UI angles is described first.UI is object of the application program closest to user, collects the fortune of UI
Row data can monitor for example smooth degree of ruuning situation of UI, so as to can subsequently be carried out to application according to these service datas
Optimization, improves Consumer's Experience.
First acquisition unit 210 obtains operation fluency of the service data of application interface to determine to apply.
The service data of application interface includes that application interface draws frame per second.Application interface draws brush of the frame per second closer to setting
New frame per second, the operation fluency of application is higher.Android system can send vertical synchronizing signal and redraw application interface every 16ms, because
For the refreshing frame per second of Android system setting is 60FPS, that is, 60 frame per second refreshing frame per second, be roughly equal to 16ms and refresh once.
I.e. application program ought to just draw an interface often receiving a vertical synchronizing signal, will yet with an interface is drawn
Input (input), Animation (animation), three steps of Draw (drafting) are sequentially passed through, therefore for some complicated boundaries
Face, possible 16ms e insufficient to complete above three step, consequently, it is possible to causing frame losing phenomenon occur, interim card occurs.Therefore, should
The refreshing frame per second (60FPS) for being less than with the actual drafting frame per second of program or being set equal to Android system, application interface is drawn
, closer to the refreshing frame per second for setting, the operation fluency of application is higher, typically the actual drafting frame per second of application program for frame per second
Equal to Android system set refreshing frame per second when can consider fluency highest.
The drafting frame per second of application interface is included in maximum frame per second, minimum frame per second peace frame per second in setting statistics duration.
First acquisition unit 210 can collect maximum frame per second, minimum frame per second, average frame per second, setting statistics duration when data are collected
Start time and the finish time of setting statistics duration.For example, a length of 10 seconds during setting statistics, by this setting statistics duration points
It is 10 a length of measurement periods of 1 second, the drafting frame per second of this 10 measurement periods is counted respectively, then can be obtained by 10 and paint
Frame per second processed, client is drawn frame per second calculation of falling into a trap from this 10 and obtains maximum frame per second, minimum frame per second peace frame per second again.Generally use flat
Equal frame per second is contrasted with the refreshing frame per second of setting, and average frame per second is with the refreshing frame per second for setting closer to then application interface operation
Fluency it is higher.Or, first acquisition unit 210 count this 10 drafting frame per second, when this 10 draw frame per second among with
The difference of the refreshing frame per second of setting less than preset difference value (size is set by developer, such as 2FPS) with N number of, then can be true
The fluency for determining application interface is the fluency CLASS-N associated with N.For example, having 8 with setting among this 10 drafting frame per second
Refreshing frame per second difference be less than preset difference value, it is determined that fluency is 80%;This 10 draw frame per second among have 10 with set
The difference of fixed refreshing frame per second is less than preset difference value, it is determined that fluency is 100%.
In Android system, first acquisition unit 210 can calculate vertical synchronizing signal by Choreographer classes
Receive the drafting frame number of number and application interface and draw frame per second to obtain the application interface.The source code of Choreographer is located at
It is a view layers of part for framework in android.view this pakage.In existing Android system, vertical synchronizing signal
Be VSync signals, can by monitoring the call number of doFrame () method with the drafting frame number at the interface that is applied because
DoFrame () method can all be called when a new frame application interface is drawn.
Second acquisition unit 220 obtains resource occupation of the occupancy duration of specified demand for system resources to determine to apply
Degree.System resource can be that fortune is deposited, network traffics, CPU etc. are using the resource for providing by system.In the present embodiment, should
System resource is CPU, and resource occupation degree is CPU usage.
The process of specifying, is the main steps or all processes of specified application.For example, for wechat, specify into
Journey can be the main steps com.tencent.mm of wechat;For QQ, specified process can be the main steps of QQ
com.tencent.mobileqq.In the present embodiment, it is the main steps of specified application to specify process, and second obtains single
Unit 220 can determine to specify process by obtaining the process title or process number of the main steps of application program.
Obtaining the process of the occupancy duration for specifying demand for system resources can be:Acquisition specifies process in setting cycle
To the occupancy duration of CPU.Setting cycle is set by developer, for example, can be 3 seconds, the time span of the second rank such as 6 seconds.
The CPU usage use obtained in setting cycle can be obtained using below equation:
Use=t1/t2;
Wherein, t1 be the specified process in setting cycle to the occupancy duration of CPU, t2 is that CPU is total in setting cycle
Occupied duration.And the computing formula of t1 is as follows:
T1=p2SumTime-p1SumTime;
Wherein, p1SumTime is the holding time to CPU of start time in the cycle specified process, and p2SumTime is week
Finish time phase the specified process the holding time to CPU.A certain process is calculated in the holding time to CPU, i.e., equivalent to
Calculate use time of a certain process to CPU.In Android system, when can calculate the occupancy to CPU by below equation
Between SumTime:
SumTime=utime+stime+cutime+cstime;
Wherein, utime represents the time that the process is run in User space, and stime represents what the process was run in kernel mode
Time, cutime represents the time that all threads in heaven run in User space, and cstime represents all in heaven in kernel mode operation
Time.
In Android system ,/proc/ can be passed through<pid>/ stat directory paths obtain utime, stime, cutime and
Cstime, wherein<pid>Represent the process number of the process of specifying.
/ proc file system is a pseudo file system, and it is only existed in the middle of internal memory, and is not take up external space.It with
The mode of file system provides the interface for communicating for kernel and process.User and application program can pass through/and proc obtains system
Information, it is possible to change some parameters of kernel.It is that dynamic changes, so user due to the information (such as process) of system
Or during file in application program reading/proc catalogues, proc file system is that dynamic reads information needed simultaneously from system kernel
Submit to.There are some in/proc catalogues with the catalogue of numerical designation, they are process catalogues.Current operation is each in system
Individual process all corresponds to a catalogue/proc/pid with process number (being represented with pid) as directory name under/proc, and they are readings
Take the interface of progress information.
Therefore, in start time in cycle, second acquisition unit 220 passes through/proc/<pid>/ stat directory paths are obtained
, then be added for four parameters and obtain p1SumTime by tetra- parameters of utime, stime, cutime, cstime;In end cycle
At the moment, tetra- parameters of utime, stime, cutime, cstime are obtained again, then four parameters are added and are obtained
p2SumTime。
The computing formula of t2 is as follows:
T2=secondCpuSumTime-firstCpuSumTime;
Wherein, firstCpuSumTime is start time in cycle CPU total occupied times, secondCpuSumTime
It is end cycle moment CPU total occupied times.In Android system, the quilt total to CPU can be calculated by below equation
Holding time CpuSumTime:
CpuSumTime=user+nice+system+idle+ioWait+irq+softIrq+stea lStolen+
guest;
Wherein, user is to be accumulated to run time of the current time in User space since system starts (not including
Nice values are negative process).Nice is that current time nic e values are accumulated to since system starts shared by negative process
CPU time.System is that run time of the current time in kernel mode is accumulated to since system starts.Idle is from system
Startup starts to be accumulated to other stand-by period of current time in addition to I/O latency.Iowait is to tire out since system starts
Count the I/O latency to current time.Irq is to be accumulated to the hard break time at current time since system starts.so ftirq
It is to be accumulated to the traps time at current time since system starts.Stealstolen be in virtualized environment operation when
The time spent in other operating systems.It is client operating system operation virtual cpu institute under linux kernel control that guest is
The time of cost.
In Android system, can pass through/proc/stat directory paths obtain user, nice, system, idle,
IoWait, irq, softIrq, stealStolen, guest this 9 parameters.This stat under/proc/stat directory paths
The information of all cpu activities is contained in file.Therefore, in start time in cycle, second acquisition unit 220 passes through/proc/
Stat directory paths obtain user, nice, system, idle, ioWait, irq, softIrq, stealStolen, guest this 9
, then be added for this 9 parameters and obtain firstCpuSumTime by individual parameter;At end cycle moment, second acquisition unit 220
User, nice, system, idle, ioWait, irq, softIrq, stealStolen, guest this 9 parameters are obtained again,
Then this 9 parameters are added and obtain secondCpuSumTime.
Then, second acquisition unit 220 can obtain the CPU usage in setting cycle by formula use=t1/t2.
The time-consuming operation to determine application that 3rd acquiring unit 230 obtains application activity component lifecycle function consumes
When.In Android system, the application activity component lifecycle function include onCreate () function, onStart () function,
OnResume () function, onPause () function, onStop () function, OnDestroy () function function a kind of at least within.
For example, if monitoring specified application takes in the operation of start-up course, the 3rd acquiring unit 230 can be by obtaining
The time-consuming of onCreate () function determines.
In certain embodiments, the 3rd acquiring unit 230 can be answered this by using the monitoring of Instrumentation classes
With calling for movable component life cycle function, to monitor the time-consuming of the application activity component lifecycle function.
Instrumentation is located under android.app bags, and catalogue at the same level is in Activity.It is Android
A series of set of the control methods inside system, is commonly called as hook hooks.These hook can be in normal life cycle function
Outer control Android controls operation.For example, to start a certain activity, the normal life cycles of activity be by
What Intent started, activity is in itself that cannot call the correlation technique such as onCreate (), onStrart () in life cycle
's;At this moment activity can just call the getActivity () method of Instrumentation API to start
activity。
In certain embodiments, supervised by way of variable mInstrumentation is replaced with into custom object
Control.Some embodiments are below described:
For each application program, its main entrance is all the main methods of ActivityThread.Each
The process of application has an ActivityThread object, and each ActivityThread object has one
Instrumentation mInstrumentation member variables.The initialization of mInstrumentation exists
In the handleBindApplication functions of ActivityThread.
If certain application want self-defined instrumentation and for track the application in this application and
Activity life cycles, realize Instrumentation and reflect modification by succession
The method of ActivityThread.mInstrumentation can accomplish.The following is specific practice:
1st, self-defined Instrumentation:
class MyInstrumentation extends Instrumentation{...};
2nd, modification ActivityThread.mInstrumentation is called in reflection:
MyInstrumentation ins=new MyInstrumentation ();
Class cls=Class.forName (" android.app.ActivityThread ");
//ActivityThread is hidden, so obtaining class objects in this way
Method mthd=cls.getDeclaredMethod (" currentActivityThread ", (Class [])
null);// obtain current ActivityThread object references
Object currentAT=mthd.invoke (null, (Object []) null);
Field mInstrumentation=currentAT.getClass () .getDeclaredField (" mIn
strumentation");
mInstrumentation.setAccessible(true);
mInstrumentation.set(currentAT,ins);// modification ActivityThread.mInstrume
Ntation values
So far can be tracked by custom object MyInstrumentation using the life of interior application movable component
Cycle, to monitor the time-consuming of the application activity component lifecycle function.
Operation fluency, resource occupation degree and the operation that acquisition module 200 has got specified application are time-consuming, it is then determined that
Module 300 according to the operation fluency, resource occupation degree or operation it is time-consuming at least one determination specified application
Runnability data.Generally it is more by operation fluency, resource occupation degree and time-consuming three aspect of operation together overall merit
The runnability of specified application.
In theory, the operation fluency of specified application (brush of the application interface drafting frame per second closer to setting higher
New frame per second), resource occupation degree fewer (CPU usage is lower), operation take fewer (life cycle function time-consuming fewer), then
The runnability of the specified application is better.However, by so not fine in reality, because as user is to picture
It is required that constantly increase, application interface is typically more complicated, it is necessary to largely take CPU to draw interface.Therefore common situation
E.g. resource occupation degree more at most runs that fluency is higher, the time-consuming then operation fluency more long of operation is lower.Therefore, from operation
When fluency, resource occupation degree and operation take this three aspect come the runnability for evaluating specified application, can be in operation
Fluency and operation take and weight higher are given in two aspects, and the weight relatively low in resource occupation degree this aspect
A bit.
If representing operation fluency with S, C represents resource occupation degree, and T represents operation and takes, and is only considering that S, C, T come
In the case of judging the runnability of application program, then the runnability K=S*x1-C*x2-T*x3 of application program, wherein x1,
X2, x3 are weight coefficient.X1, x2, x3 sum can be 1, and x1 and x3 can be bigger than x2 in certain embodiments.
After determining module 300 determines the runnability data of specified application, client can be according to specified application journey
The runnability of sequence issues the user with suitable suggestion, for example, unload the application or limit the application.Client can also be to
A data such as user's displaying operation fluency of specified application, resource occupation degree, operation be time-consuming so that user has intuitively
Impression.
In certain embodiments, described device can also include sending module (not shown).Determining module 300 determines to specify
After the runnability of application program, the runnability of specified application can also be sent to high in the clouds by sending module, be passed through
High in the clouds sends optimisation strategy according to runnability to client, for example, unload the application or limit the application.
Because different hardware has different runnabilities to application program, therefore the specified application different editions can
Can be applicable different terminal models.Therefore, cloud server can collect substantial amounts of different type of machines and run various versions
Runnability data during application program, then judge that what type is applicable the application of what version, so as under other users
Suggestion can be sent when carrying the application program or directly for it selectes a certain version to it.And, cloud server can be with
For a certain type sets appropriate optimisation strategy and the download suggestion for different hardware when a certain version application program is run.
If for example, there is type A, the specified application has version V1, V2, V3, the big data that high in the clouds passes through collection
(type, application package name, the corresponding relation of application version number, runnability) is analyzed, and determines the specified application
Program is more preferable (such as more smooth or occupying system resources are less) than running the runnability of V3 versions in A operation V1, V2 versions,
Then can to A send suggestion or directly be its selected V1 or V2 version;If A is mounted with V3 versions, can be to A suggestions more
Plate change sheet is that A sets appropriate optimisation strategy, and for example, A distributes more system resources.
Therefore, cloud server is in order to obtain on type, application package name, application version number, runnability
The big data of the corresponding relation of data is, it is necessary to sending module is uploaded when the runnability data of specified application are uploaded simultaneously
The type of mobile terminal, application package name, application version number, namely client can be by the operation of specified application
Performance data, the attribute information of specified application, the machine attribute information are sent to cloud server, are directed to so that high in the clouds makes
The optimisation strategy of specified application and the download suggestion for different hardware, the attribute information of specified application include specifying
The bag name and application version number of application program, the machine attribute information include the brand message and model information of the machine.Upload to cloud
After the server of end, cloud server can be by the bag name of specified application, application version number, runnability data, the machine
Brand message and model information are stored with tabular form.
After cloud server obtains above-mentioned big data, corresponding clothes can be provided for users using above-mentioned big data
Business, for example, provide corresponding optimisation strategy and application program is recommended.
Therefore, in certain embodiments, described device can also include submitting module, receiver module and processing module to.Should
Submitting module to is used to be submitted to cloud server and distributes request rationally comprising the machine attribute information and native application list.
It is the application program that the receiver module is used to receive cloud server according to the runnability data of the application program of collection in advance
The weighted list of list match, includes the weight of each application program of the machine in the weighted list.The processing module be used for according to
The operation resource of each application program is adjusted according to the weight of each application program in the weighted list.
The n application program such as APP1, APP2, APP3~APPn is for example installed, type A takes to high in the clouds in a certain type A
Business device is submitted to and distributes request rationally comprising the machine attribute information (model information A) and native application list.Cloud service
The runnability data on APP1, APP2, APP3~APPn that device is sent according to the advance mobile terminal from a large amount of types,
Know that wherein which APP needs to distribute more system operation resources, be then the corresponding weight row of these APP matching generations
Table, this weighted list is (for example to find that APP1, APP2 need more systems for adjusting the operation resource of each application program
Operation resource, then improve the weight of APP1, APP2 in weighted list) so that type A can respectively should according in the weighted list
The operation resource (for example, APP1, APP2 distribute more system operation resources) of each application program is adjusted with the weight of program.
And in other embodiment, submit to module to be used to submit answering comprising the machine attribute information to cloud server
Use program recommendation request.Receiver module is used to receive runnability of the cloud server according to the application program of collection in advance
The application program recommendation list that data are formulated.Processing module is used to show recommended download according to the application program recommendation list
All application programs.
Which such as a certain type A can inquire about by client (such as the form of application market) to cloud server should
It is adapted to the machine with program, then type A can submit the application journey comprising the machine attribute information (model information A) to cloud server
Sequence recommendation request, then cloud server is according to the relevant every kind of APP classifications sent from the mobile terminal of a large amount of types in advance
In every kind of producer APP runnability data, in recommending every kind of APP classifications to type A in the way of application program recommendation list
The optimal APP of runnability.Such as cloud server finds the operation of Qihoo mobile phone browser APP in browser APP classifications
Performance is optimal, then recommend Qihoo mobile phone browser APP to type A in browser APP classifications.So, type A receive this should
After with program recommendation list, all application programs of recommended download are shown according to the application program recommendation list.Such as list
In have a N kind APP classifications, every kind of classification recommends 3 kinds of optimal APP of runnability in type A.
Service is provided to mobile terminal according to big data by above-mentioned cloud server, Consumer's Experience can be effectively improved.
The embodiment of the present invention additionally provides mobile terminal, as shown in figure 5, for convenience of description, illustrate only and the present invention
The related part of embodiment, particular technique details is not disclosed, and refer to present invention method part.The terminal can be
Including mobile phone, panel computer, PDA (Personal Digital Assistant, personal digital assistant), POS (Point of
Sales, point-of-sale terminal), any terminal device such as vehicle-mounted computer, so that terminal is as mobile phone as an example:
Fig. 5 is illustrated that the block diagram of the part-structure of the mobile phone related to terminal provided in an embodiment of the present invention.With reference to figure
5, mobile phone includes:Radio frequency (Radio Frequency, RF) circuit 1510, memory 1520, input block 1530, display unit
1540th, sensor 1550, voicefrequency circuit 1560, Wireless Fidelity (wireless fidelity, Wi-Fi) module 1570, processor
The part such as 1580 and power supply 1590.It will be understood by those skilled in the art that the handset structure shown in Fig. 5 do not constitute it is right
The restriction of mobile phone, can include part more more or less than diagram, or combine some parts, or different part cloth
Put.
Each component parts of mobile phone is specifically introduced with reference to Fig. 5:
RF circuits 1510 can be used to receiving and sending messages or communication process in, the reception and transmission of signal, especially, by base station
After downlink information is received, processed to processor 1580;In addition, up data is activation will be designed to base station.Generally, RF circuits
1510 include but is not limited to antenna, at least one amplifier, transceiver, coupler, low-noise amplifier (Low Noise
Amplifier, LNA), duplexer etc..Additionally, RF circuits 1510 can also be led to by radio communication and network and other equipment
Letter.Above-mentioned radio communication can use any communication standard or agreement, including but not limited to global system for mobile communications (Global
System of Mobile communication, GSM), general packet radio service (General Packet Radio
Service, GPRS), CDMA (Code Division Multiple Access, CDMA), WCDMA
(Wideband Code Division Multiple Access, WCDMA), Long Term Evolution (Long Term Evolution,
LTE), Email, Short Message Service (Short Messaging Service, SMS) etc..
Memory 1520 can be used to store software program and module, and processor 1580 is by running storage in memory
1520 software program and module, so as to perform various function application and the data processing of mobile phone.Memory 1520 can be led
To include storing program area and storage data field, wherein, storing program area can be needed for storage program area, at least one function
Application program (such as vocal print playing function, image player function etc.) etc.;Storage data field can store the use institute according to mobile phone
Data (such as voice data, phone directory etc.) of establishment etc..Additionally, memory 1520 can be stored including high random access
Device, can also include nonvolatile memory, and for example, at least one disk memory, flush memory device or other volatibility are consolidated
State memory device.
Input block 1530 can be used to receive the numeral or character information of input, and produce with the user of mobile phone set with
And the relevant key signals input of function control.Specifically, input block 1530 may include contact panel 1531 and other inputs
Equipment 1532.Contact panel 1531, also referred to as touch-screen, can collect user thereon or neighbouring touch operation (such as user
Use the behaviour of any suitable object such as finger, stylus or annex on contact panel 1531 or near contact panel 1531
Make), and corresponding attachment means are driven according to formula set in advance.Optionally, contact panel 1531 may include touch detection
Two parts of device and touch controller.Wherein, touch detecting apparatus detect the touch orientation of user, and detect touch operation band
The signal for coming, transmits a signal to touch controller;Touch controller receives touch information from touch detecting apparatus, and by it
Contact coordinate is converted into, then gives processor 1580, and the order sent of receiving processor 1580 and can be performed.Additionally,
Contact panel 1531 can be realized using polytypes such as resistance-type, condenser type, infrared ray and surface acoustic waves.Except touch surface
Plate 1531, input block 1530 can also include other input equipments 1532.Specifically, other input equipments 1532 can include
But it is not limited in physical keyboard, function key (such as volume control button, switch key etc.), trace ball, mouse, action bars etc.
One or more.
Display unit 1540 can be used for show by user input information or be supplied to user information and mobile phone it is each
Plant menu.Display unit 1540 may include display panel 1541, optionally, can use liquid crystal display (Liquid
Crystal Display, LCD), the form such as Organic Light Emitting Diode (Organic Light-Emitting Diode, OLED)
To configure display panel 1541.Further, contact panel 1531 can cover display panel 1541, when contact panel 1531 is detected
Arrive thereon or after neighbouring touch operation, processor 1580 is sent to determine the type of touch event, with preprocessor
1580 provide corresponding visual output according to the type of touch event on display panel 1541.Although in Figure 5, contact panel
1531 is input and the input function that mobile phone is realized as two independent parts with display panel 1541, but in some realities
In applying example, can by contact panel 1531 and display panel 1541 be integrated input that realize mobile phone and output function.
Mobile phone may also include at least one sensor 1550, such as optical sensor, motion sensor and other sensors.
Specifically, optical sensor may include ambient light sensor and proximity transducer, wherein, ambient light sensor can be according to ambient light
Light and shade adjust the brightness of display panel 1541, proximity transducer can close display panel when mobile phone is moved in one's ear
1541 and/or backlight.Used as one kind of motion sensor, (generally three axles) add in the detectable all directions of accelerometer sensor
The size of speed, can detect that size and the direction of gravity when static, can be used to recognize application (the such as horizontal/vertical screen of mobile phone attitude
Switching, dependent game, magnetometer pose calibrating), Vibration identification correlation function (such as pedometer, tap) etc.;As for mobile phone also
The other sensors such as configurable gyroscope, barometer, hygrometer, thermometer, infrared ray sensor, will not be repeated here.
Voicefrequency circuit 1560, loudspeaker 1561, microphone 1562 can provide the COBBAIF between user and mobile phone.Audio
Electric signal after the voice data conversion that circuit 1560 will can be received, is transferred to loudspeaker 1561, is changed by loudspeaker 1561
It is vocal print signal output;On the other hand, the vocal print signal of collection is converted to electric signal by microphone 1562, by voicefrequency circuit 1560
Voice data is converted to after reception, then after voice data output processor 1580 is processed, through RF circuits 1510 being sent to ratio
Such as another mobile phone, or voice data is exported to memory 1520 so as to further treatment.
Wi-Fi belongs to short range wireless transmission technology, and mobile phone can help user's transceiver electronicses by Wi-Fi module 1570
Mail, browse webpage and access streaming video etc., it has provided the user wireless broadband internet and has accessed.Although Fig. 5 shows
Wi-Fi module 1570, but it is understood that, it is simultaneously not belonging to must be configured into for mobile phone, can exist as needed completely
Do not change in the essential scope of invention and omit.
Processor 1580 is the control centre of mobile phone, using various interfaces and the various pieces of connection whole mobile phone,
By running or performing software program and/or module of the storage in memory 1520, and storage is called in memory 1520
Interior data, perform the various functions and processing data of mobile phone, so as to carry out integral monitoring to mobile phone.Optionally, processor
1580 may include one or more processing units;Preferably, processor 1580 can integrated application processor and modulation /demodulation treatment
Device, wherein, application processor mainly processes operating system, user interface and application program etc., and modem processor is mainly located
Reason radio communication.It is understood that above-mentioned modem processor can not also be integrated into processor 1580.
Mobile phone also includes the power supply 1590 (such as battery) powered to all parts, it is preferred that power supply can be by power supply
Management system is logically contiguous with processor 1580, so as to realize management charging, electric discharge and power consumption pipe by power-supply management system
The functions such as reason.
Although not shown, mobile phone can also will not be repeated here including camera, bluetooth module etc..
In embodiments of the present invention, the processor 1580 included by the terminal also has following functions:Monitor and specify application
The startup event of program;In the running of the specified application, obtain the service data of application interface to determine to answer
Operation fluency, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, and obtaining should
Taken with the time-consuming operation to determine application of movable component life cycle function;According to the operation fluency, resource occupation
The runnability of specified application described at least one determination during degree or operation are time-consuming.Namely processor 1580 possesses execution
Above-mentioned any embodiment determines the function of the method for application program runnability, will not be repeated here.
The method of above-mentioned determination application program runnability, device and mobile terminal, monitor opening for specified application
Dynamic event;In the running of the specified application, obtain the service data of application interface to determine the operation of application
Fluency, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, obtains application activity group
The time-consuming operation to determine application of part life cycle function takes;According to the operation fluency, resource occupation degree or operation
The runnability of specified application described at least one determination in time-consuming.Due to only monitoring the application program specified (to end
The larger application program of end performance impact, such as default application program, conventional application program, occupancy fortune deposit application journey high
Sequence or game class application program), thus can avoid carrying out all of application program overall monitoring, reduce Data Collection work
Make, improve data collection efficiency.And, specify operation fluency, resource occupation degree and the operation of application time-consuming by collecting
Etc. data, from UI angles, resource consumption angle and it is time-consuming judgement comprehensively more angularly is analyzed to application, Ke Yiyou
Effect improves the degree of accuracy for judging application runnability.
It should be understood that although each step in the flow chart of accompanying drawing shows successively according to the instruction of arrow,
These steps are not that the inevitable order indicated according to arrow is performed successively.Unless expressly stated otherwise herein, these steps
The strict order limitation of execution, it can be performed in the other order.And, in the flow chart of accompanying drawing at least one
Part steps can include many sub-steps or multiple stages, and these sub-steps or stage are not necessarily in synchronization
Completion is performed, and can be to be performed at the different moment, its execution sequence is also not necessarily and carry out successively, and can be and other
At least a portion of the sub-step or stage of step or other steps is performed in turn or alternately.
The above is only some embodiments of the invention, it is noted that for the ordinary skill people of the art
For member, under the premise without departing from the principles of the invention, some improvements and modifications can also be made, these improvements and modifications also should
It is considered as protection scope of the present invention.
Claims (10)
1. it is a kind of determine application program runnability method, it is characterised in that comprise the following steps:
Monitor the startup event of specified application;
In the running of the specified application, the operation for obtaining the service data of application interface to determine application is smooth
Degree, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, obtains the life of application activity component
The time-consuming operation to determine application of life periodic function takes;
Specified application described at least one determination in being taken according to the operation fluency, resource occupation degree or operation
Runnability data.
2. it is according to claim 1 determine application program runnability method, it is characterised in that the specified application journey
The system of sort run is Android system, and the startup event of the specified application is recognized by monitoring onCreate () function.
3. it is according to claim 1 determine application program runnability method, it is characterised in that the specified application journey
Sequence includes that default application program, the startup frequency exceed the application program of first threshold, the fortune of occupancy and deposit more than Second Threshold
Application program or game class application program.
4. it is according to claim 1 determine application program runnability method, it is characterised in that the application interface
Service data includes that application interface draws frame per second, and application interface draws refreshing frame per second of the frame per second closer to setting, the operation of application
Fluency is higher.
5. it is according to claim 4 determine application program runnability method, it is characterised in that the application interface
Draw maximum frame per second, minimum frame per second peace frame per second that frame per second is included in setting statistics duration.
6. it is according to claim 4 determine application program runnability method, it is characterised in that the specified application journey
The system of sort run is Android system, calculates the reception number of vertical synchronizing signal by Choreographer classes and applies boundary
The drafting frame number in face draws frame per second to obtain the application interface.
7. the method for determining application program runnability according to claim 6, it is characterised in that vertical synchronization letter
Number be VSync signals.
8. it is according to claim 6 determine application program runnability method, it is characterised in that by monitor
The call number of doFrame () method is with the drafting frame number at the interface that is applied.
9. it is a kind of determine application program runnability device, it is characterised in that including:
Monitor module, the startup event for monitoring specified application;
Acquisition module, in the running of the specified application, obtaining the service data of application interface to determine
The operation fluency of application, obtains the occupancy duration of specified demand for system resources to determine the resource occupation degree of application, obtains
The time-consuming operation to determine application of application activity component lifecycle function takes;
Determining module, for according to described at least one determination run during fluency, resource occupation degree or operation take
The runnability data of specified application.
10. a kind of mobile terminal, it is characterised in that it includes:
Touch-sensitive display;
One or more processors;
Memory;
One or more application programs, wherein one or more of application programs are stored in the memory and are configured
It is that, by one or more of computing devices, one or more of programs are configured to:Perform according to claim 1~8
The method of the determination application program runnability described in any one.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710021050.1A CN106874168A (en) | 2017-01-12 | 2017-01-12 | Determine method, device and the mobile terminal of application program runnability |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710021050.1A CN106874168A (en) | 2017-01-12 | 2017-01-12 | Determine method, device and the mobile terminal of application program runnability |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106874168A true CN106874168A (en) | 2017-06-20 |
Family
ID=59158134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710021050.1A Pending CN106874168A (en) | 2017-01-12 | 2017-01-12 | Determine method, device and the mobile terminal of application program runnability |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874168A (en) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450988A (en) * | 2017-07-31 | 2017-12-08 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN107464164A (en) * | 2017-07-27 | 2017-12-12 | 宇龙计算机通信科技(深圳)有限公司 | Terminal recommends method and relevant device |
CN107479970A (en) * | 2017-07-31 | 2017-12-15 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN107479972A (en) * | 2017-07-31 | 2017-12-15 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN107528977A (en) * | 2017-08-31 | 2017-12-29 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN107590060A (en) * | 2017-09-05 | 2018-01-16 | 杭州时趣信息技术有限公司 | A kind of analysis method and device of terminal interim card |
CN107832142A (en) * | 2017-10-11 | 2018-03-23 | 广东欧珀移动通信有限公司 | The resource allocation method and equipment of application program |
CN107864378A (en) * | 2017-11-10 | 2018-03-30 | 维沃移动通信有限公司 | A kind of frame rate detection method, device, mobile terminal and server |
CN107967178A (en) * | 2017-12-06 | 2018-04-27 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN108337127A (en) * | 2017-12-21 | 2018-07-27 | 中国平安人寿保险股份有限公司 | application performance monitoring method, system, terminal and computer readable storage medium |
CN108427582A (en) * | 2018-03-09 | 2018-08-21 | 北京小米移动软件有限公司 | Interim card state determines method, apparatus and computer readable storage medium |
CN108536272A (en) * | 2018-04-09 | 2018-09-14 | 维沃移动通信有限公司 | A kind of method and mobile terminal of adjustment application program frame per second |
CN109104638A (en) * | 2018-08-03 | 2018-12-28 | Oppo广东移动通信有限公司 | Frame per second optimization method, device, terminal and storage medium |
CN109144359A (en) * | 2018-06-27 | 2019-01-04 | 努比亚技术有限公司 | A kind of screen parameter control method, terminal and computer readable storage medium |
CN109376053A (en) * | 2018-09-20 | 2019-02-22 | Oppo广东移动通信有限公司 | Data processing method, device and mobile terminal |
CN109495340A (en) * | 2018-11-02 | 2019-03-19 | 国电南京自动化股份有限公司 | A kind of Android application performance monitoring statisticss method and system |
CN109684167A (en) * | 2018-12-06 | 2019-04-26 | 北京城市网邻信息技术有限公司 | Calculation method, device, storage medium and the terminal of application program CPU usage |
CN109766246A (en) * | 2019-02-02 | 2019-05-17 | 北京字节跳动网络技术有限公司 | Method and apparatus for monitoring application |
CN109901966A (en) * | 2019-01-14 | 2019-06-18 | 珠海金山网络游戏科技有限公司 | A kind of handset capability occupies monitoring method and system |
TWI684916B (en) * | 2018-03-30 | 2020-02-11 | 香港商阿里巴巴集團服務有限公司 | Function selection method and server |
CN110806909A (en) * | 2019-11-01 | 2020-02-18 | 北京金山安全软件有限公司 | Method and device for determining page frame dropping information of application program and electronic equipment |
CN112256223A (en) * | 2020-10-20 | 2021-01-22 | 北京字节跳动网络技术有限公司 | Display fluency adjusting method and device and electronic equipment |
CN112363870A (en) * | 2020-11-20 | 2021-02-12 | 广州太平洋电脑信息咨询有限公司 | Application program development processing method and device, computer equipment and storage medium |
WO2021027678A1 (en) * | 2019-08-09 | 2021-02-18 | 华为技术有限公司 | Vertical synchronization signal-based image processing method, and electronic apparatus |
CN112532488A (en) * | 2020-11-30 | 2021-03-19 | 郑州轻工业大学 | Computer network data monitoring method and device |
US11016812B2 (en) | 2017-07-31 | 2021-05-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for resource allocation and terminal device |
CN113032278A (en) * | 2021-04-19 | 2021-06-25 | 上海哔哩哔哩科技有限公司 | Method and device for confirming operation mode of application program and grade of terminal equipment |
US11182210B2 (en) | 2017-07-31 | 2021-11-23 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for resource allocation and terminal device |
CN113849391A (en) * | 2021-10-08 | 2021-12-28 | 珠海格力电器股份有限公司 | Program performance determination method and device, electronic equipment and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339535A (en) * | 2008-08-21 | 2009-01-07 | 金蝶软件(中国)有限公司 | Method and device for monitoring application program performance |
US9015729B2 (en) * | 2013-02-26 | 2015-04-21 | Korea Advanced Institute Of Science And Technology | Mobile apparatus executing efficient dataflow execution for mobile context monitoring, method of executing dataflow using the same, method of context monitoring using the same and context monitoring system including the same |
CN105100784A (en) * | 2014-04-21 | 2015-11-25 | 展讯通信(上海)有限公司 | Smoothness test method and device |
CN105528052A (en) * | 2015-12-09 | 2016-04-27 | 上海斐讯数据通信技术有限公司 | Electronic equipment power consumption reduction method and device and electronic equipment with display screen |
CN106055469A (en) * | 2016-05-19 | 2016-10-26 | 中国科学院软件研究所 | System and method for mobile terminal application testing based on code injection |
CN106095660A (en) * | 2016-06-14 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | The quality control method of application and device |
-
2017
- 2017-01-12 CN CN201710021050.1A patent/CN106874168A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339535A (en) * | 2008-08-21 | 2009-01-07 | 金蝶软件(中国)有限公司 | Method and device for monitoring application program performance |
US9015729B2 (en) * | 2013-02-26 | 2015-04-21 | Korea Advanced Institute Of Science And Technology | Mobile apparatus executing efficient dataflow execution for mobile context monitoring, method of executing dataflow using the same, method of context monitoring using the same and context monitoring system including the same |
CN105100784A (en) * | 2014-04-21 | 2015-11-25 | 展讯通信(上海)有限公司 | Smoothness test method and device |
CN105528052A (en) * | 2015-12-09 | 2016-04-27 | 上海斐讯数据通信技术有限公司 | Electronic equipment power consumption reduction method and device and electronic equipment with display screen |
CN106055469A (en) * | 2016-05-19 | 2016-10-26 | 中国科学院软件研究所 | System and method for mobile terminal application testing based on code injection |
CN106095660A (en) * | 2016-06-14 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | The quality control method of application and device |
Non-Patent Citations (4)
Title |
---|
网友: "activity生命周期:onCreate,onStart,onResume,onPause,onStop,onDestory", 《CHINAUNIX》 * |
网友: "Android性能测试 - Android移动开发技术文章_手机开发", 《红黑联盟》 * |
网友: "android测试之——Instrumentation(一)", 《博客园》 * |
网友: "linux下用/proc/stat文件来计算cpu的利用率-c语言实现", 《CHINAUNIX》 * |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107464164A (en) * | 2017-07-27 | 2017-12-12 | 宇龙计算机通信科技(深圳)有限公司 | Terminal recommends method and relevant device |
CN107450988A (en) * | 2017-07-31 | 2017-12-08 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN107479970A (en) * | 2017-07-31 | 2017-12-15 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN107479972A (en) * | 2017-07-31 | 2017-12-15 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN107479970B (en) * | 2017-07-31 | 2022-09-09 | Oppo广东移动通信有限公司 | Resource allocation method and related product |
US11182210B2 (en) | 2017-07-31 | 2021-11-23 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for resource allocation and terminal device |
US11016812B2 (en) | 2017-07-31 | 2021-05-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for resource allocation and terminal device |
CN107528977A (en) * | 2017-08-31 | 2017-12-29 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN107590060A (en) * | 2017-09-05 | 2018-01-16 | 杭州时趣信息技术有限公司 | A kind of analysis method and device of terminal interim card |
CN107832142A (en) * | 2017-10-11 | 2018-03-23 | 广东欧珀移动通信有限公司 | The resource allocation method and equipment of application program |
CN107832142B (en) * | 2017-10-11 | 2020-06-09 | Oppo广东移动通信有限公司 | Resource allocation method and equipment for application program |
CN107864378A (en) * | 2017-11-10 | 2018-03-30 | 维沃移动通信有限公司 | A kind of frame rate detection method, device, mobile terminal and server |
CN107967178A (en) * | 2017-12-06 | 2018-04-27 | 广东欧珀移动通信有限公司 | Resource allocation method and Related product |
CN108337127A (en) * | 2017-12-21 | 2018-07-27 | 中国平安人寿保险股份有限公司 | application performance monitoring method, system, terminal and computer readable storage medium |
CN108427582A (en) * | 2018-03-09 | 2018-08-21 | 北京小米移动软件有限公司 | Interim card state determines method, apparatus and computer readable storage medium |
CN108427582B (en) * | 2018-03-09 | 2022-02-08 | 北京小米移动软件有限公司 | Method and device for determining stuck state and computer readable storage medium |
TWI684916B (en) * | 2018-03-30 | 2020-02-11 | 香港商阿里巴巴集團服務有限公司 | Function selection method and server |
CN108536272A (en) * | 2018-04-09 | 2018-09-14 | 维沃移动通信有限公司 | A kind of method and mobile terminal of adjustment application program frame per second |
CN108536272B (en) * | 2018-04-09 | 2020-05-22 | 维沃移动通信有限公司 | Method for adjusting frame rate of application program and mobile terminal |
CN109144359A (en) * | 2018-06-27 | 2019-01-04 | 努比亚技术有限公司 | A kind of screen parameter control method, terminal and computer readable storage medium |
CN109104638A (en) * | 2018-08-03 | 2018-12-28 | Oppo广东移动通信有限公司 | Frame per second optimization method, device, terminal and storage medium |
CN109104638B (en) * | 2018-08-03 | 2021-05-25 | Oppo广东移动通信有限公司 | Frame rate optimization method, device, terminal and storage medium |
CN109376053B (en) * | 2018-09-20 | 2022-11-08 | Oppo广东移动通信有限公司 | Data processing method and device and mobile terminal |
CN109376053A (en) * | 2018-09-20 | 2019-02-22 | Oppo广东移动通信有限公司 | Data processing method, device and mobile terminal |
CN109495340A (en) * | 2018-11-02 | 2019-03-19 | 国电南京自动化股份有限公司 | A kind of Android application performance monitoring statisticss method and system |
CN109684167A (en) * | 2018-12-06 | 2019-04-26 | 北京城市网邻信息技术有限公司 | Calculation method, device, storage medium and the terminal of application program CPU usage |
CN109901966A (en) * | 2019-01-14 | 2019-06-18 | 珠海金山网络游戏科技有限公司 | A kind of handset capability occupies monitoring method and system |
CN109766246A (en) * | 2019-02-02 | 2019-05-17 | 北京字节跳动网络技术有限公司 | Method and apparatus for monitoring application |
WO2021027678A1 (en) * | 2019-08-09 | 2021-02-18 | 华为技术有限公司 | Vertical synchronization signal-based image processing method, and electronic apparatus |
CN110806909A (en) * | 2019-11-01 | 2020-02-18 | 北京金山安全软件有限公司 | Method and device for determining page frame dropping information of application program and electronic equipment |
CN112256223B (en) * | 2020-10-20 | 2024-04-19 | 北京字节跳动网络技术有限公司 | Method and device for adjusting display fluency and electronic equipment |
CN112256223A (en) * | 2020-10-20 | 2021-01-22 | 北京字节跳动网络技术有限公司 | Display fluency adjusting method and device and electronic equipment |
CN112363870A (en) * | 2020-11-20 | 2021-02-12 | 广州太平洋电脑信息咨询有限公司 | Application program development processing method and device, computer equipment and storage medium |
CN112532488A (en) * | 2020-11-30 | 2021-03-19 | 郑州轻工业大学 | Computer network data monitoring method and device |
CN113032278A (en) * | 2021-04-19 | 2021-06-25 | 上海哔哩哔哩科技有限公司 | Method and device for confirming operation mode of application program and grade of terminal equipment |
CN113032278B (en) * | 2021-04-19 | 2023-09-26 | 上海哔哩哔哩科技有限公司 | Application running mode, and method and device for confirming grade of terminal equipment |
CN113849391A (en) * | 2021-10-08 | 2021-12-28 | 珠海格力电器股份有限公司 | Program performance determination method and device, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874168A (en) | Determine method, device and the mobile terminal of application program runnability | |
CN106528745B (en) | Method and device for recommending resources on mobile terminal and mobile terminal | |
WO2018120813A1 (en) | Smart recommendation method and terminal | |
CN107734179A (en) | A kind of message prompt method, mobile terminal | |
CN109857494B (en) | Message prompting method and terminal equipment | |
CN109471690B (en) | Message display method and terminal equipment | |
CN109408150A (en) | It is a kind of to apply loading method and mobile terminal fastly | |
CN107368400A (en) | CPU monitoring methods, device, computer-readable recording medium and mobile terminal | |
CN111247782B (en) | Method and system for automatically creating instant AD-HOC calendar events | |
CN112597361B (en) | Ordering processing method and device, electronic equipment and storage medium | |
CN110502163A (en) | The control method and terminal device of terminal device | |
CN113220176B (en) | Display method and device based on widget, electronic equipment and readable storage medium | |
CN111427648A (en) | Page resource updating method and device, electronic equipment, server and storage medium | |
CN109284144A (en) | A kind of fast application processing method and mobile terminal | |
CN106775680A (en) | Suspend processing method, device and the mobile terminal for notifying | |
CN106873997A (en) | Puzzle type task-cycle control method and device | |
CN110457086A (en) | A kind of control method of application program, mobile terminal and server | |
CN107908492A (en) | Blank screen detection method, mobile terminal and computer-readable recording medium | |
CN110362185A (en) | Control method, terminal and the computer readable storage medium that screen intensity is adjusted | |
CN106528284B (en) | application program configuration method and device and terminal equipment | |
CN108304575A (en) | A kind of method and terminal of mark display | |
CN108052391A (en) | Memory Optimize Method, mobile terminal and readable storage medium storing program for executing based on thread deadlock | |
CN107765922A (en) | Card screen detection is with solving method, mobile terminal and computer-readable recording medium | |
CN107491349B (en) | Applied program processing method and device, computer equipment, storage medium | |
CN107341094A (en) | The time-consuming measuring method of startup item and device |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170620 |
|
RJ01 | Rejection of invention patent application after publication |