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 PDF

Info

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
Application number
CN201710021050.1A
Other languages
Chinese (zh)
Inventor
刘刚
纪纲
陈佩翰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201710021050.1A priority Critical patent/CN106874168A/en
Publication of CN106874168A publication Critical patent/CN106874168A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data 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

Determine method, device and the mobile terminal of application program runnability
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.
CN201710021050.1A 2017-01-12 2017-01-12 Determine method, device and the mobile terminal of application program runnability Pending CN106874168A (en)

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)

* Cited by examiner, † Cited by third party
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
CN107479972A (en) * 2017-07-31 2017-12-15 广东欧珀移动通信有限公司 Resource allocation method and Related product
CN107479970A (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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
网友: "activity生命周期:onCreate,onStart,onResume,onPause,onStop,onDestory", 《CHINAUNIX》 *
网友: "Android性能测试 - Android移动开发技术文章_手机开发", 《红黑联盟》 *
网友: "android测试之——Instrumentation(一)", 《博客园》 *
网友: "linux下用/proc/stat文件来计算cpu的利用率-c语言实现", 《CHINAUNIX》 *

Cited By (37)

* Cited by examiner, † Cited by third party
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
CN107479972A (en) * 2017-07-31 2017-12-15 广东欧珀移动通信有限公司 Resource allocation method and Related product
CN107479970A (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
EP3553676A1 (en) Smart recommendation method and terminal
CN107734179A (en) A kind of message prompt method, mobile terminal
CN109857494B (en) Message prompting 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
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
CN111247782A (en) Method and system for automatically creating instant AD-HOC calendar events
CN108920054A (en) A kind of application recommended method and terminal
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
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
CN107704332A (en) Freeze screen solution method, mobile terminal and computer-readable recording medium
CN107341094A (en) The time-consuming measuring method of startup item and device
CN109284146A (en) A kind of light application open method and mobile terminal

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