CN110659189A - Application program generation method and device, cloud server and readable storage medium - Google Patents

Application program generation method and device, cloud server and readable storage medium Download PDF

Info

Publication number
CN110659189A
CN110659189A CN201910755119.2A CN201910755119A CN110659189A CN 110659189 A CN110659189 A CN 110659189A CN 201910755119 A CN201910755119 A CN 201910755119A CN 110659189 A CN110659189 A CN 110659189A
Authority
CN
China
Prior art keywords
information
target application
hot
execution
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910755119.2A
Other languages
Chinese (zh)
Other versions
CN110659189B (en
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910755119.2A priority Critical patent/CN110659189B/en
Publication of CN110659189A publication Critical patent/CN110659189A/en
Priority to PCT/CN2020/108346 priority patent/WO2021027801A1/en
Application granted granted Critical
Publication of CN110659189B publication Critical patent/CN110659189B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3409Recording 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 for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Abstract

The embodiment of the application provides an application program generation method, an application program generation device, a cloud server and a readable storage medium, and the application program generation method comprises the following steps: executing a test case, where the test case is used to trigger a first target application to be executed on a first terminal device, where the execution is starting and/or running, and obtain information of a hot object in execution of the first target application, and further, according to the information of the hot object in execution of the first target application, generate a second target application, where the second target application includes the information of the hot object in execution of the first target application. The method can greatly improve the performance of the second target APP when the second target APP is started and operated for the first time after being installed, and the performance can be improved without waiting for operation for a period of time. Therefore, the effect of improving the APP performance is greatly improved, and the user experience can be greatly improved.

Description

Application program generation method and device, cloud server and readable storage medium
Technical Field
The embodiment of the application relates to an intelligent terminal technology, in particular to an application program generation method and device, a cloud server and a readable storage medium.
Background
With the continuous development of mobile internet technology and mobile phones and other terminal devices, various services using the mobile internet by using the terminal devices become more and more preferred by multiple users. The evaluation result of the user on the terminal device is an important index for measuring the user experience. The evaluation result of the user on the terminal device may include evaluation results of various evaluation dimensions, and the evaluation dimensions may include appearance, performance of an Application (APP), photographing capability, screen display effect, and the like. Where performance is an important evaluation dimension. The properties of the APP may include cold start properties of the APP, high frequency application scenario execution properties, and the like. The cold start performance of the APP is the time consumed from the time when the user clicks the APP icon to the time when the APP interface is loaded and completed when the APP process is not created. How to improve the performance of APP is a problem to be solved urgently.
In the prior art, a method for improving the performance of an APP is provided, in the process of using the APP by a user, along with the increase of the number of times of using the APP, a compiler counts the frequency of calling classes and functions in the running process of the APP, and when the frequency of using a certain class or function reaches a preset threshold, the class or function is marked as a hotspot class or hotspot function. Compiling the counted hotspot classes and hotspot functions into native codes (native codes), and when the APP runs again, directly running the hotspot classes and hotspot functions without explaining and executing again, so that the performance of the APP is improved.
However, the method in the prior art needs to operate the APP for a certain time before the performance of the APP can be improved, which results in poor performance improvement effect of the APP and poor user experience.
Disclosure of Invention
The embodiment of the application program generation method and device, the cloud server and the readable storage medium are used for rapidly improving APP performance and improving user experience.
In a first aspect, an embodiment of the present application provides an application generating method, where the method includes: executing a test case, where the test case is used to trigger a first target application to be executed on a first terminal device, where the execution is starting and/or running, and obtain information of a hot object in execution of the first target application, and further, according to the information of the hot object in execution of the first target application, generate a second target application, where the second target application includes the information of the hot object in execution of the first target application.
According to the method, the information of the hot objects in the starting and running of the first target APP can be obtained by executing the test case, the information of the hot objects is added into the second target APP which can be released, the performance of the second target APP can be greatly improved when the second target APP is started and run for the first time after being installed, and the performance can be improved without waiting for running for a period of time. Therefore, the effect of improving the APP performance is greatly improved, and the user experience can be greatly improved.
In a possible implementation manner, the acquiring information of the hot object to be executed by the first target application includes:
and acquiring the information of the hot object in the execution of the first target application from a first terminal device, wherein the first terminal device is used for acquiring the information of the hot object in the execution of the first target application.
According to the method, the first terminal device is a terminal device corresponding to a target APP test stage, and the information of the hot object can be obtained in the target APP test stage by obtaining the information of the hot object from the first terminal device.
In a possible implementation manner, the test case is used to perform a compatibility test on the first target application, and/or the test case is used to perform a test corresponding to a target function module on the first target application, where the target function module is a function module in which a user usage frequency in the first target application is greater than a third preset frequency.
In the method, the information of the hot object under different application scenes can be acquired according to the actual optimization requirements of the user, so that the flexibility is high, and the requirements of different application scenes can be met.
In one possible implementation, the method further includes:
receiving information of the hot object in the execution of the second target application reported by a plurality of second terminal devices;
and generating a third target application according to the information of the hot object in the execution of the second target application, wherein the third target application comprises the information of the hot object in the execution of the second target application.
According to the method, the information of the hot object is obtained according to the hot objects acquired by the second terminal devices in the actual use process of the user, so that the actual use scene of the user can be met, and the APP performance improvement effect is better.
In a possible implementation manner, the generating a third target application according to the information of the hot spot object in the execution of the second target application includes:
and generating the third target application according to the information of the hot object in the execution of the second target application and the information of the hot object in the execution of the first target application.
In a possible implementation manner, the generating the third target application according to the information of the hot object in the starting and running of the second target application and the information of the hot object in the execution of the first target application includes:
counting the number of the second terminal devices and the number of the terminal devices reporting the information of the first hotspot object in the first terminal device;
and if the number of the second terminal devices and the number of the terminal devices reporting the information of the first hot spot object in the first terminal device are larger than a second preset threshold, taking the first hot spot object as a hot spot object in the third target application.
In a possible implementation manner, the hot object is an object whose number of times of being called in application execution is greater than a first preset threshold, and the hot object includes: at least one of class, method, function, field.
In a possible implementation manner, the information of the hotspot object includes: the identification of the hot object, the type of the hot object, and whether the hot object belongs to the object called by the class initialization method.
In a possible implementation manner, the information of the hot spot objects of the same type is sequentially stored in the same partition, where the partition is a storage area in a terminal device where an application is installed.
According to the method, hot objects in the starting stage of the target application comprise at least one of classes, methods, functions and fields, and information of the hot objects in the starting stage of the target application is sequentially stored in the same partition, so that the hot objects are sequentially stored in the same partition, terminal equipment can read the information of a plurality of hot objects only by performing partition reading once, and when the objects need to be called, the objects can be directly called without performing frequent partition reading, so that I/O (input/output) operation can be obviously reduced. The hotspot objects which can be collected by the terminal equipment at least comprise classes, methods, functions and fields, and can be stored in the same partition mode of ordered storage, so that the effect of reducing I/O operation is better, and further the performance optimization of the target APP is deeper.
In a second aspect, an embodiment of the present application provides an information acquisition method, where the method includes: receiving an indication to launch a second target application; triggering the second target application to execute according to the instruction for starting the second target application, wherein the execution is started and/or operated; acquiring information of the hot object in the execution of the second target application; and reporting the information of the hot object in the execution of the second target application to a cloud server.
In the method, the second terminal device is the terminal device which is installed with the target APP and is actually used by the user, and the plurality of second terminal devices can respectively acquire the information of the hot object of the target APP, so that the cloud server can acquire the information of the hot object according to the hot object acquired by the plurality of second terminal devices in the actual use process of the user, the actual use scene of the user can be met, and the APP performance improvement effect is better.
In a possible implementation manner, the acquiring information of the hotspot object in the starting and/or running of the second target application includes:
counting the calling times of the target object in the starting and/or running of the second target application;
and if the called times of the target object are greater than a first preset threshold value, taking the target object as a hot object.
In a possible implementation manner, the counting the number of times that the target object is invoked during the starting and running of the second target application includes:
monitoring whether the target object is called or not through the runtime of an operating system;
and counting the called times of the target object according to the monitoring result in the running process.
In one possible implementation, the hotspot object includes: at least one of class, method, function, field.
In a possible implementation manner, the information of the hot spot objects of the same type is sequentially stored in the same partition, where the partition is a storage area in a terminal device where an application is installed.
In a third aspect, an embodiment of the present application provides an application generating apparatus, including: a processing module;
the processing module is used for executing a test case, wherein the test case is used for triggering a first target application to be executed on a first terminal device, and the execution is starting and/or running; and the number of the first and second groups,
acquiring information of a hot object in the execution of the first target application; and the number of the first and second groups,
and generating a second target application according to the information of the hot object in the execution of the first target application, wherein the second target application comprises the information of the hot object in the execution of the first target application.
In a possible implementation manner, the processing module is specifically configured to:
and acquiring the information of the hot object in the execution of the first target application from a first terminal device, wherein the first terminal device is used for acquiring the information of the hot object in the execution of the first target application.
In a possible implementation manner, the test case is used to perform a compatibility test on the first target application, and/or the test case is used to perform a test corresponding to a target function module on the first target application, where the target function module is a function module in which a user usage frequency in the first target application is greater than a third preset frequency.
In one possible implementation, the apparatus further includes: a receiving module;
the receiving module is configured to receive information of the hotspot object in the execution of the second target application, which is reported by a plurality of second terminal devices;
the processing module is further configured to generate a third target application according to the information of the hot object in the execution of the second target application, where the third target application includes the information of the hot object in the execution of the second target application.
In a possible implementation manner, the processing module is specifically configured to:
and generating the third target application according to the information of the hot object in the execution of the second target application and the information of the hot object in the execution of the first target application.
In a possible implementation manner, the processing module is specifically configured to:
counting the number of the second terminal devices and the number of the terminal devices reporting the information of the first hotspot object in the first terminal device; and when the number of the second terminal devices and the number of the terminal devices reporting the information of the first hot spot object in the first terminal device are larger than a second preset threshold, taking the first hot spot object as a hot spot object in the third target application.
In a possible implementation manner, the hot object is an object whose number of times of being called in application execution is greater than a first preset threshold, and the hot object includes: at least one of class, method, function, field.
In a possible implementation manner, the information of the hotspot object includes: the identification of the hot object, the type of the hot object, and whether the hot object belongs to the object called by the class initialization method.
In a possible implementation manner, the information of the hot spot objects of the same type is sequentially stored in the same partition, where the partition is a storage area in a terminal device where an application is installed.
In a fourth aspect, an embodiment of the present application provides an information acquisition apparatus, including:
a receiving module for receiving an indication to start a second target application;
the processing module is used for triggering the second target application to execute according to the instruction for starting the second target application, and the execution is starting and/or running; and the number of the first and second groups,
acquiring information of the hot object in the execution of the second target application; and the number of the first and second groups,
and reporting the information of the hot object in the execution of the second target application to a cloud server.
In a possible implementation manner, the processing module is specifically configured to:
counting the calling times of the target object in the starting and/or running of the second target application; and the number of the first and second groups,
and when the called times of the target object are greater than a first preset threshold value, the target object is used as a hot object.
In a possible implementation manner, the processing module is specifically configured to:
monitoring whether the target object is called or not through the runtime of an operating system; and the number of the first and second groups,
and counting the called times of the target object according to the monitoring result in the running process.
In one possible implementation, the hotspot object includes: at least one of class, method, function, field.
In a possible implementation manner, the information of the hot spot objects of the same type is sequentially stored in the same partition, where the partition is a storage area in a terminal device where an application is installed.
In a fifth aspect, an embodiment of the present application provides an apparatus, including: an input interface circuit, a logic circuit, and an output interface circuit, wherein the logic circuit is configured to perform the method of the first aspect.
In a sixth aspect, an embodiment of the present application provides an apparatus, including: an input interface circuit, a logic circuit, an output interface circuit, wherein the logic circuit is configured to perform the method of the second aspect.
In a seventh aspect, an embodiment of the present application provides a cloud server, including: a memory and a processor;
the processor is configured to be coupled to the memory, read and execute instructions in the memory, so as to implement the method steps of the first aspect.
In an eighth aspect, an embodiment of the present application provides a terminal device, including: a memory, a processor, and a transceiver;
the processor is coupled to the memory, and configured to read and execute the instructions in the memory to implement the method steps of the second aspect;
the transceiver is coupled to the processor, and the processor controls the transceiver to transmit and receive messages.
In a ninth aspect, the present application provides a computer program product, which includes computer program code, and when the computer program code is executed by a computer, the computer executes the method of the first aspect or the second aspect.
In a tenth aspect, embodiments of the present application provide a computer-readable storage medium, which stores computer instructions that, when executed by a computer, cause the computer to perform the instructions of the method of the first or second aspect.
Drawings
FIG. 1 is an exemplary system architecture diagram of an application generation method provided by an embodiment of the present application;
fig. 2 is an interaction flowchart of a first embodiment of an application generation method provided in the embodiment of the present application;
fig. 3 is an interaction flowchart of a second embodiment of an application generation method provided in the embodiment of the present application;
fig. 4 is a block diagram of an application generating apparatus according to an embodiment of the present application;
fig. 5 is a block diagram of an information acquisition apparatus according to an embodiment of the present disclosure;
fig. 6 is a block diagram of another application generating apparatus according to an embodiment of the present application;
fig. 7 is a block diagram of another information acquisition apparatus according to an embodiment of the present disclosure;
fig. 8 is a schematic structural diagram of a cloud server according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of a terminal device according to an embodiment of the present application.
Detailed Description
In the prior art, after the APP runs for a certain time, hot classes and hot functions counted during running are compiled into local codes, and when the APP runs again, the local codes are directly run, so that the performance of the APP is improved. However, according to the method, the performance of the APP can be improved only after the APP runs for a certain time, and in the time period from the installation of the APP to the compilation of the local code, because the local code does not exist, the class and the code of the APP need to be interpreted and executed, and therefore, in the time period from the installation of the APP to the compilation of the local code, the performance of the APP cannot be improved, and therefore, the effect of improving the performance of the APP is poor. In addition, in the prior art, only the hot spot class and the hot spot function in the APP can be counted, but other hot spot objects cannot be counted, for example, hot spot fields in the class cannot be counted, therefore, these hot spot objects need to be interpreted and executed as non-hot spot objects when the APP runs at each time, the processing affects the performance improvement of the APP, and the effect of improving the performance of the APP also can be poor.
The technical scheme of the embodiment of the application aims to solve the problems.
Before describing the technical solutions of the embodiments of the present application, technical terms related to the embodiments of the present application are explained first.
1. Class I
In object-oriented programming, a problem is modeled by a set of data abstractions, which may be referred to as classes. Several data and methods may be included in a class. The data is used to describe characteristics of the class, and the data may specifically refer to a field.
2. Method of producing a composite material
A class may contain several methods, which are functions defined in the class, one method for describing one behavior of the class.
3. Function(s)
The function is essentially the same as the method, one function is used to describe one behavior, the function does not belong to a certain class, and the method belongs to a class.
4. Hotspot object
The hotspot object may refer to an object which is called more than a first preset threshold in the APP starting and running process. The hotspot objects may include at least: class, method, function, field.
The embodiments of the present application aim to improve the performance of an APP installed on a terminal device, and for convenience of description, the following embodiments of the present application refer to the APP as a "target APP". It is to be noted that, in the embodiments of the present application, "target APP" is equivalent to "target application".
Fig. 1 is an exemplary system architecture diagram of an application generation method according to an embodiment of the present application, and as shown in fig. 1, the system includes a cloud server, a first terminal device, a second terminal device, and a third terminal device. The number of the first terminal devices may be one. The number of the second terminal devices may be one or more. The number of the third terminal devices may be one or more.
The first terminal device is a terminal device provided with a first target APP, and the first target APP is a target APP to be tested. After the target APP finishes research and development, a version to be tested can be generated, the version is installed on the first terminal device, and the first terminal device is connected with the cloud server. The cloud server runs a test case, and the test case is used for testing the target APP. When the test case is operated, the test case triggers the target APP to start and operate on the first terminal device, when the target APP starts and operates on the first terminal device, the first terminal device collects the information of the hot objects called when the target APP starts and operates, the cloud server obtains the information of the hot objects, and according to the information of the hot objects, a second target APP is obtained, and the second target APP can be published after the test is completed.
The second terminal device is the terminal device installed with a second target APP, when the target APP is started and operated on the second terminal device, the second terminal device collects hotspot objects called when the target APP is started and operated, and reports the information of the hotspot objects to the cloud server, the cloud server obtains the information of new hotspot objects and compiles the information to a third target APP based on the information of the hotspot objects and the information of the hotspot objects obtained when test cases are operated, and the third target APP is the target APP which can be issued after the information of the hotspot objects is updated on the basis of the second target APP.
The third terminal device may install the third target APP from the cloud server.
It is worth mentioning that the first target APP, the second target APP and the third target APP described in the embodiment of the present application correspond to the same target APP at different stages respectively. The different phases may be different versions, for example. Illustratively, the first target APP corresponds to a test version of the target APP, the second target APP corresponds to a first release version of the target APP, and the third target APP corresponds to a second release version of the target APP.
The Terminal device (including the first Terminal device and the second Terminal device) according to the embodiment of the present application may also be referred to as a Terminal, a User Equipment (UE), a Mobile Station (MS), a Mobile Terminal (MT), or the like. The terminal device may be a mobile phone (mobile phone), a tablet computer (Pad), a computer with a wireless transceiving function, a Virtual Reality (VR) terminal device, an Augmented Reality (AR) terminal device, a wireless terminal in industrial control (industrial control), a wireless terminal in unmanned driving (self driving), a wireless terminal in remote surgery (remote medical supply), a wireless terminal in smart grid (smart grid), a wireless terminal in transportation safety (transportation safety), a wireless terminal in smart city (smart city), a wireless terminal in home (smart home), and the like.
The terminal equipment can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on the water surface; it may also be deployed on airborne airplanes, balloons and satellite vehicles. The embodiment of the application does not limit the application scene of the terminal device.
Fig. 2 is an interaction flowchart of a first embodiment of an application program generation method provided in the embodiment of the present application, and as shown in fig. 2, the method includes:
s201, the cloud server obtains a test case.
The test case is written and stored in advance by a tester, the tester can store the test case on the cloud server, or can also store the test case on other equipment, and before the embodiment is executed, the test case is transmitted to the cloud server from the other equipment.
Optionally, the test cases may include cases in different test scenarios, and in different test scenarios, the first target APP may execute different actions.
For example, the test scenario may include at least a compatibility test scenario and a high frequency test scenario. For the test case corresponding to the compatibility test scenario, when the test case is executed, the first target APP can be triggered to execute and start, display the page and the control, respond to the behavior of clicking the control, display the virtual keyboard, retract the virtual keyboard, switch among a plurality of input boxes and other conventional actions. For the test case corresponding to the high-frequency test scenario, when the test case is executed, the first target APP is triggered to execute the conventional action, and besides, the first target APP is also triggered to execute the action corresponding to the functional module with higher user usage frequency. For example, assuming that the first target APP is APP1, where the registration module and the dialog module are main functional modules of the APP1, and the frequency of use by a user after release may be high, when writing a test case, test contents of the registration module and the dialog module may be written into the test case, so as to obtain a test case including two high-frequency modules, namely "registration" and "dialog". When the test case is executed, the APP1 is triggered to execute actions in a registration scenario, which may include, for example, performing validity verification on registration information input by a user, responding to an operation of clicking a registration button by the user, and actions in a dialog scenario, which may include, for example, receiving a message, sending a message, and the like.
S202, the cloud server runs the test case and sends an operation instruction to the first terminal device.
S203, the first terminal equipment starts and runs the first target APP according to the operation instruction of the cloud server.
The operation instruction is used for instructing the first terminal device to execute a corresponding operation instruction to the first target APP, for example, instructing the first terminal device to start the first target APP, and the first target APP can be started.
In an example, the test case includes a test code, and the content is "click on the start icon of APP 1", when the test code is executed, the cloud server sends an indication of clicking on the start icon of APP1 to the first terminal device, and the first terminal device starts APP1 after receiving the indication.
In another example, the test case includes a test code, the content is "click registration button", when the test code is executed, the cloud server sends an instruction of clicking the registration button to the first terminal device, after the first terminal device receives the instruction, the cloud server executes APP1, indicates that the registration button has been triggered to APP1, and APP1 executes an action in response to clicking the registration button according to the instruction.
It is worth noting that in the following embodiments of the present application, the first terminal device and the second terminal device may collect information of the hot spot object both in the starting and the running of the target APP, or may collect information of the hot spot object only in one of the phases, for example, collect information of the hot spot object only in the starting phase, or collect information of the hot spot object only in the running phase. The following embodiments of the present application all take the example of collecting information of hot spot objects during startup and operation as an example.
S204, the first terminal device collects the information of the hot spot object of the first target APP during starting and running.
Optionally, the first target APP may call various objects during the starting and running processes, and the objects may be classes, methods, functions, fields, and the like. When the object is called, the first terminal device may monitor a behavior of the object being called, and record the number of times that the object is called in the starting and operating processes of the first target APP. For example, the first terminal device may monitor the behavior of the object being called through its runtime (runtime) and record the number of times each object is called. For the first terminal device, all the APPs installed on the first terminal device are operated based on runtime, so that runtime can acquire the calling information of all the objects in the APPs. In this embodiment, the first target APP runs based on runtime, and when a certain target object in the first target APP is called, runtime can monitor and record a behavior of the called target object. And counting the called times of the target object according to the monitoring result of runtime. Illustratively, when an object a in the first target APP is called for the first time, runtime allocates a variable of the number of calls to the object a and sets the value of the variable to 1, and when the object a is called again, runtime adds 1 to the value of the variable as a new value of the variable, and so on.
In the embodiment of the application, the first terminal device can support call monitoring and call frequency recording of at least the following types of objects:
classmata: class I
Method, a: method of producing a composite material
Function: function(s)
Fieldmeta field
String: c-style character string
Literal: java character string
Optionally, after recording the number of calls of each object, the first terminal device may determine the number of calls of each object, and if the number of calls of a certain target object reaches a first preset threshold, take the target object as a hot object. The hot object has a unique identification to distinguish it from other objects. For example, the name of the hot object may be used as the identification of the hot object. Meanwhile, the first terminal device may further record the type of the hot spot object. The type of the hot object refers to which stage the hot object is. Illustratively, the types of hot objects may include the following three types: starting a hotspot, running the hotspot, and starting and running the hotspot. The starting hotspot type refers to a hotspot only belonging to an APP starting phase, the running hotspot type refers to a hotspot only belonging to an APP running phase, and the starting and running hotspot types refer to hotspots which both belong to the APP starting phase and the APP running phase. Optionally, the first terminal device may further record whether the hotspot object belongs to an object called by the class initialization method. If a hot object belongs to an object called by the class initialization method, it means that when the APP is started, a class initialization method (e.g., clinit method) needs to be executed to initialize the hot object, and then the hot object can be called.
After the first terminal device executes the recording process, the information of the hot spot object of the first target APP in starting and running can be obtained. The information of the hot object may include an identification of the hot object, a type of the hot object, and whether the hot object belongs to an object called by the class initialization method.
S205, the first terminal device reports the information of the hot object in the starting and running of the first target APP to the cloud server.
Optionally, the first terminal device may store the information of the hot object of the first target APP in the starting and running process, which is obtained in step S204, in a file with a specific format and report the information to the cloud server.
For example, the first terminal device may store information of the hotspot object in a profile configuration file, and report the profile file to the cloud server. Each line in the Profile file is used for recording the information of one hotspot object. The following is an example of what is recorded for a certain line in the profile file:
Landroid/os/SystemProperties;_7c<clinit>_7c()V:boot-only-hot:1
in this example, the hotspot object is a class systemoproperties, the hotspot object belongs to an object called by the class initialization method, and meanwhile, the type of the hotspot object is boot-only-hot, that is, the type of the hotspot object is a startup hotspot.
S206, the cloud server generates a second target APP according to the information of the hot object in the starting and running of the first target APP, wherein the second target APP comprises the information of the hot object in the starting and running of the first target APP.
After the information of the hot object is obtained, in this step, optionally, the cloud server may compile the information of the hot object of the first target APP into an installation file of the second target APP when compiling the second target APP, so that the second target APP generated by compiling includes the information of the hot object.
In an optional manner, when compiling the second target APP, the cloud server may arrange information of the hot objects of the same type of the first target APP in the same file in order according to the name and the type of the hot object and whether the hot objects belong to the object called by the class initialization method, and generate the installation file of the second target APP using the file stored in order. After the installation file is installed to the second terminal device, the information of the hot spot objects in the orderly stored file is orderly stored in the same partition of the second terminal device, wherein the partition is a storage area in the terminal device for installing the APP. Illustratively, when compiling the second target APP, the cloud server arranges the information of the hot object belonging to the start hot type in the same file in order, and arranges the information of the hot object belonging to the operation hot type in another file in order. After the second target APP is installed to the second terminal device, the information of the hot object belonging to the starting hot type is sequentially stored in one partition of the second terminal device, and the information of the hot object belonging to the operating hot type is sequentially stored in the other partition of the second terminal device.
In addition, if the hot object belongs to the object called by the class initialization method, the object called by the class initialization method in the hot object can be marked in a specific way. For example, the cloud server may store the object belonging to the class initialization method call in a specific file, for example, a def file, to mark the object belonging to the class initialization method call in the hotspot object. Based on the marking mode, the hot objects can be initialized in batch when the second target APP is started.
In the prior art, objects to be called in an APP are dispersedly stored in different partitions, when a terminal device calls the objects, the content of one partition can be read and called at a time, and if hot objects are dispersedly stored in different partitions, the terminal device needs to frequently read the partitions, thereby generating a large amount of I/O operations. In this embodiment, the hot objects are sequentially stored in the same partition, and the terminal device can read the information of the hot objects only by performing partition reading once. In addition, in this embodiment, the hotspot objects that can be collected by the terminal device at least include classes, methods, functions, and fields, and these hotspot objects can be stored in the same partition mode of ordered storage, so that the effect of reducing I/O operations is better, and further, the performance optimization of the target APP is deeper.
After the processing, the information of the hot object of the second target APP in the starting and running process is stored in the installation file of the target APP. When the second terminal device executes the installation file, namely after the second target APP is installed on the second terminal device, the information of the hot object is stored on the second terminal device, and when the second target APP is started and operated on the second terminal device, the second terminal device can perform batch initialization on the objects needing to be called in the hot object in the second target APP starting stage according to the information of the hot object, so that extra time consumption caused by the fact that initialization is performed before a first object is called each time is avoided, and time consumption in the starting process of the target APP is greatly reduced. Simultaneously, after second target APP installation, when second target APP starts for the first time and moves on second terminal equipment, the performance can greatly be promoted, and need not wait until second target APP moves and just can realize the performance promotion after a period of time. Therefore, the effect of improving the APP performance is greatly improved, and the user experience can be greatly improved.
In this embodiment, through executing the test case, the information of the hot object in the starting and running of the first target APP can be acquired, and after the information of the hot objects is added into the second target APP which can be released, the performance of the second target APP in the starting and running process after installation can be greatly improved, and the performance can be improved without waiting for a period of running. Therefore, the effect of improving the APP performance is greatly improved, and the user experience can be greatly improved.
Furthermore, in this embodiment, the hot objects are sequentially stored in the same partition, and the second terminal device can read the information of the plurality of hot objects only by performing partition reading once. In addition, the hotspot objects which can be collected by the first terminal device at least comprise classes, methods, functions and fields, and the hotspot objects can be stored in the same partition mode of ordered storage, so that the effect of reducing I/O operations is better, and further the performance optimization of the target APP is deeper.
In addition, as described above, under different test scenarios, the first target APP may perform different actions, and therefore, when executing use cases of different test scenarios, the obtained information of the hot object may be different. For example, if a use case corresponding to the compatibility test scenario is executed, the first target APP mainly executes the conventional actions, and therefore, the first terminal device only monitors and counts objects called when the conventional actions are executed, and further obtains information of the hot object in the compatibility test scenario. If the use case corresponding to the high-frequency test scene is executed, the first target APP executes the action corresponding to the functional module with higher user use frequency besides the conventional action, so that the first terminal device can monitor and count the object called when the high-frequency functional module is operated by the first target APP, besides monitoring and counting the object called when the conventional action is executed by the first terminal device. The use case corresponding to the high-frequency test scenario is used for testing a first target application corresponding to a target function module, and the target function module is a function module of which the user use frequency is greater than a third preset frequency in the first target application. Therefore, the information of the hot object obtained may be different for different test scenarios. For a target APP, hot spot objects under different application scenes can be collected by running different test cases according to actual optimization requirements. Therefore, the embodiment can acquire the information of the hot object in different application scenes according to the actual optimization requirements of the user, so that the flexibility is high, and the requirements of different application scenes can be met.
In the above embodiment, the first target APP is triggered to start and run through the test case to obtain the information of the hot object of the target APP, the first target APP may be installed on one terminal device, that is, only the first target APP needs to be installed on the one terminal device, and the cloud server may obtain the information of the hot object of the target APP through the foregoing process. And the obtained hot object is the hot object in the typical application scene corresponding to the test case. As an optional implementation manner, after the second target APP is generated in the above manner and installed on a plurality of second terminal devices in an actual on-network, the plurality of second terminal devices may collect information of the hot object of the second target APP in a process that a user actually uses the second target APP and report the information to the cloud server, and the cloud server obtains information of a new hot object based on the information of the hot object and the information of the hot object obtained when a test case is run, and compiles the information of the new hot object into a third target APP. The hot spot object in the third target APP is obtained according to the hot spot objects collected by the plurality of second terminal devices in the actual use process of the user, so that the real use scene of the user can be met, and the APP performance improvement effect can be better. The processing procedure of this alternative embodiment is explained below.
Fig. 3 is an interaction flowchart of a second embodiment of the application generation method provided in the embodiment of the present application, and as shown in fig. 3, in this embodiment, the cloud server may first obtain a second target APP through the foregoing steps S201 to S206, and the second target APP is further installed and started to run on a plurality of second terminal devices, and on this basis, the following processes may be performed. It should be noted that fig. 2 only shows an interaction process between one second terminal device and the cloud server, and in an actual implementation process, when a plurality of second terminal devices are provided, the interaction process between each second terminal device and the cloud server is the same as the process shown in fig. 2.
And S301, starting and operating a second target APP by the second terminal device.
After obtaining the second target APP through the foregoing steps S201 to S206, the second target APP may be released on platforms such as an APP store, and a user holding the second terminal device may install the second target APP on the second terminal device through the platforms. After the installation is completed, the user clicks an icon of the second target APP on the desktop, and therefore the second target APP is triggered to start and run.
Optionally, a switch that allows acquisition of the hotspot object may be added to the second target APP, and during installation of the second target APP, a user may be asked whether to allow acquisition of the hotspot object, and if the user selects permission, the switch is activated, and subsequent steps are performed. If the user does not select to allow, the switch is closed, and the subsequent steps are not executed, so that the trouble to the user is avoided.
S302, the second terminal device collects the information of the hot spot object of the second target APP during starting and running.
The process of acquiring the information of the hot object of the second target APP in the starting and running process by the second terminal device is the same as the process of acquiring the information of the hot object of the first target APP in the starting and running process by the first terminal device in the step S204, and reference may be made to the step S204, which is not described herein again.
And S303, the second terminal device reports the information of the hot object of the second target APP in the starting and running processes to the cloud server.
Optionally, the second terminal device may determine whether it is suitable for reporting the information of the hot object, and if so, report the information of the hot object of the second target APP in the starting and running processes to the cloud server.
Because the information of the hot object needs to use the local resources of the second terminal device and the network transmission resources, after the second terminal device collects the information of the hot object, it can be firstly judged whether the second terminal device is currently suitable for reporting the information of the hot object, and only when the second terminal device is suitable for reporting the information of the hot object, the information of the hot object is reported to the cloud server.
Optionally, the second terminal device may determine whether one or more of the following conditions are currently met, and if so, may determine that the information suitable for reporting the hot spot object is currently reported:
(1) and whether the second terminal equipment is connected with the charging equipment or not, if so, the second terminal equipment is sufficient in electric quantity, and the condition is met.
(2) And if the screen-off duration of the second terminal equipment reaches half an hour, indicating that the second terminal equipment is not used by the user and meeting the condition.
(3) Whether the second terminal device is connected to the internet through a wireless local area network (for example) is judged, if yes, extra traffic cost is not required to be generated when the information of the hot object is uploaded, and the condition is met.
In an example, the second terminal device may determine whether the conditions (2) and (3) are currently met, and if both the conditions are met, the second terminal device may upload the collected information of the hotspot object to the cloud server.
For example, when the second terminal device uploads the information of the hotspot object to the cloud server, the information of the hotspot object may be stored in a profile configuration file, and the profile file is reported to the cloud server. For a specific format example of the Profile file, reference may be made to the foregoing step S205, which is not described herein again.
And S304, the cloud server generates new information of the hot object according to the information of the hot object reported by the second terminal equipment and the information of the hot object reported by the first terminal equipment.
Optionally, the cloud server may receive information of the hot object reported by the plurality of second terminal devices in a file form, where each second terminal device reports a file to the cloud server, and before that, the first terminal device also reports the information of the hot object to the cloud server in the file form. After receiving the files reported by the first terminal device and the plurality of second terminal devices, the cloud server may merge and filter the hot objects in the files, so as to generate new information of the hot objects. Where each file can be considered as a sample file. The information of the new hot object comprises information of a hot object in the starting and running of the second target application and information of a hot object in the starting and running of the first target application.
During merging and filtering, optionally, the cloud server counts the number of times that each hotspot object appears in a plurality of sample files. For a hotspot object in a certain sample file, called a first hotspot object, counting the number of the second terminal devices and the terminal devices reporting the information of the first hotspot object in the first terminal device, and if the number of the second terminal devices and the terminal devices reporting the information of the first hotspot object in the first terminal device is greater than a second preset threshold, taking the first hotspot object as a hotspot object in a third target application. For example, assuming that the cloud server receives 100 sample files, and for a hot object a in a certain sample file, the hot object a appears in all 60 sample files, it may be determined that the number of times that the hot object a appears in multiple sample files is 60. The method is used for counting the times of all the hot spot objects appearing in the plurality of sample files to obtain the appearing times of each hot spot object. And then, sequencing all the hot objects according to the sequence of the occurrence times from high to low, selecting the hot objects with the occurrence times larger than or equal to a second preset threshold, reading the information of the hot objects from the sample file, and storing the information into a new file, thereby generating the information of the new hot objects. Illustratively, the new file may be a profile file.
Optionally, the cloud server may further generate a third target application only according to the information of the hot object in the starting and running of the second target application, and in this manner, the new information of the hot object includes the information of the hot object in the starting and running of the second target application.
S305, the cloud server generates a third target APP according to the information of the new hot object, wherein the third target APP comprises the information of the new hot object.
Optionally, the cloud server may compile a third target APP, and when compiling the third target APP, may compile information of the new hot object, so that the third target APP includes information of the new hot object.
The process of compiling the new information of the hot object into the installation file of the third target APP by the cloud server is the same as the process of compiling the information of the hot object into the installation file of the second target APP in step S206, and reference may be made to the description in step S206, which is not described herein again.
After obtaining the third target APP through the foregoing steps S301 to S305, the third target APP may be released on a platform such as an APP store, and the user may install the third target APP on the terminal device. Illustratively, a user holding a third terminal device may install a second target APP on the third terminal device through the platforms. Because the third target APP includes the information of the new hot object, the information of the new hot object is obtained according to the actual using processes of a large number of users, and therefore, the information of the new hot object is more consistent with the actual hot object, and therefore, the third terminal device initializes the new hot object in batch and reduces the I/O operation of the new hot object when starting and running, so that the running performance of the third target APP on the third terminal device can be further improved compared with the second target APP running on the second terminal device, the effect of optimizing the performance of the third target APP is better, and the user experience is further improved.
In this embodiment, based on a large amount of information of the hot objects collected by the second terminal device on the internet, the cloud server may generate new information of the hot objects, and compile the new information into the installation file of the third target APP, when the third target APP is started and run on the third terminal device, the third terminal device may perform initialization and other processing on the new information of the hot objects in batch and reduce I/O operations, so that the running performance of the third target APP on the third terminal device is further improved compared with the second target APP running on the second terminal device, the effect of optimizing the performance of the target APP is better, and the user experience is further improved.
Fig. 4 is a block diagram of an application generating apparatus according to an embodiment of the present application, where the apparatus may be the cloud server described in the foregoing embodiment, or may be an apparatus capable of enabling the cloud server to implement the function of the cloud server in the method according to the embodiment of the present application, for example, the apparatus may be an apparatus in the cloud server or a chip system. As shown in fig. 4, the apparatus includes: a processing module 401.
A processing module 401, configured to execute a test case, where the test case is used to trigger a first target application to be executed on a first terminal device, where the execution is start and/or operation; acquiring information of the hot object in the execution of the first target application; and generating a second target application according to the information of the hot object in the execution of the first target application, wherein the second target application comprises the information of the hot object in the execution of the first target application.
In an optional implementation, the processing module 401 is specifically configured to:
and acquiring the information of the hot object in the execution of the first target application from a first terminal device, wherein the first terminal device is used for acquiring the information of the hot object in the execution of the first target application.
In an optional implementation manner, the processing module 401 is configured to perform a compatibility test on the first target application, and/or the test case is configured to perform a test corresponding to a target function module on the first target application, where the target function module is a function module in the first target application, where a user usage frequency of the first target application is greater than a third preset frequency.
With continued reference to fig. 4, in an alternative embodiment, the apparatus further comprises: a module 402 is received.
A receiving module 402, configured to receive information of the hotspot object in the execution of the second target application, which is reported by multiple second terminal devices.
The processing module 401 is further configured to generate a third target application according to the information of the hot object in the execution of the second target application, where the third target application includes the information of the hot object in the execution of the second target application.
In an optional implementation, the processing module 401 is specifically configured to:
and generating the third target application according to the information of the hot object in the execution of the second target application and the information of the hot object in the execution of the first target application.
In an optional implementation, the processing module 401 is specifically configured to:
counting the number of the second terminal devices and the number of the terminal devices reporting the information of the first hotspot object in the first terminal device; and when the number of the second terminal devices and the number of the terminal devices reporting the information of the first hot spot object in the first terminal device are larger than a second preset threshold, taking the first hot spot object as a hot spot object in the third target application.
In an optional implementation manner, the hot object is an object whose number of times of being called in application execution is greater than a first preset threshold, and the hot object includes: at least one of class, method, function, field.
In an optional embodiment, the information of the hotspot object includes: the identification of the hot object, the type of the hot object, and whether the hot object belongs to the object called by the class initialization method.
In an optional implementation manner, the information of the hot spot objects of the same type is sequentially stored in the same partition, where the partition is a storage area in a terminal device where an application is installed.
The application generation apparatus provided in the embodiment of the present application may execute the method steps in the foregoing method embodiments, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 5 is a block structure diagram of an information acquisition apparatus according to an embodiment of the present application, where the apparatus may be the second terminal device described in the foregoing embodiment, or may be an apparatus capable of enabling the second terminal device to implement the function of the second terminal device in the method according to the embodiment of the present application, and for example, the apparatus may be an apparatus in the second terminal device or a chip system. As shown in fig. 5, the apparatus includes: a receiving module 501 and a processing module 502.
A receiving module 501, configured to receive an indication to start the second target application.
A processing module 502, configured to trigger execution of a second target application according to the instruction for starting the second target application, where the execution is start and/or run; acquiring information of the hot object in the execution of the second target application; and reporting the information of the hotspot object in the execution of the second target application to a cloud server.
In an optional implementation, the processing module 502 is specifically configured to:
counting the calling times of the target object in the starting and/or running of the second target application; and when the called times of the target object are larger than a first preset threshold value, the target object is used as a hot spot object.
In an optional implementation, the processing module 502 is specifically configured to:
monitoring whether the target object is called or not through the runtime of an operating system; and counting the called times of the target object according to the monitoring result of the running.
In an alternative embodiment, the hotspot object comprises: at least one of class, method, function, field.
In an optional implementation manner, the information of the hot spot objects of the same type is sequentially stored in the same partition, where the partition is a storage area in a terminal device where an application is installed.
The information acquisition device provided by the embodiment of the application can execute the method steps in the method embodiments, the implementation principle and the technical effect are similar, and the details are not repeated herein.
It should be noted that the division of the modules of the above apparatus is only a logical division, and the actual implementation may be wholly or partially integrated into one physical entity, or may be physically separated. And these modules can be realized in the form of software called by processing element; or may be implemented entirely in hardware; and part of the modules can be realized in the form of calling software by the processing element, and part of the modules can be realized in the form of hardware. For example, the determining module may be a processing element separately set up, or may be implemented by being integrated in a chip of the apparatus, or may be stored in a memory of the apparatus in the form of program code, and the function of the determining module is called and executed by a processing element of the apparatus. Other modules are implemented similarly. In addition, all or part of the modules can be integrated together or can be independently realized. The processing element described herein may be an integrated circuit having signal processing capabilities. In implementation, each step of the above method or each module above may be implemented by an integrated logic circuit of hardware in a processor element or an instruction in the form of software.
For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as: one or more Application Specific Integrated Circuits (ASICs), or one or more microprocessors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), among others. For another example, when some of the above modules are implemented in the form of a processing element scheduler code, the processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor that can call program code. As another example, these modules may be integrated together, implemented in the form of a system-on-a-chip (SOC).
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that includes one or more of the available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), etc.
Based on the same inventive concept as the application program starting method provided in the foregoing embodiment of the present application, an embodiment of the present application further provides an application program generating apparatus, configured to implement the application program generating method in the foregoing embodiment, where part or all of the application program generating method in the foregoing embodiment may be implemented by hardware or may be implemented by software, and when implemented by hardware, as shown in fig. 6, the application program generating apparatus 600 includes:
an input interface circuit 602, a logic circuit 604, and an output interface circuit 606.
The logic circuit 604 is configured to execute the method steps of the cloud server in the application program generating method shown in fig. 2 to fig. 3, for specific reference, the description in the foregoing method embodiment is given, and details are not repeated here. In a specific implementation, the application generation apparatus 600 may be a chip or an integrated circuit.
Based on the same inventive concept as the information acquisition method provided in the foregoing embodiment of the present application, an embodiment of the present application further provides an information acquisition apparatus, which is used to implement the information acquisition method in the foregoing embodiment, a part or all of the information acquisition method in the foregoing embodiment may be implemented by hardware or may be implemented by software, and when implemented by hardware, as shown in fig. 7, the information acquisition apparatus 700 includes:
the input interface circuit 702, the logic circuit 704, and the output interface circuit 706 further include a transceiver 708 and an antenna 710, and the transceiver 708 transmits and receives data through the antenna 710.
The logic circuit 704 is configured to execute the method steps of the second terminal device in the information acquisition method shown in fig. 2 to fig. 3, please refer to the description in the foregoing method embodiment, which is not described herein again. In a specific implementation, the information collecting apparatus 700 may be a chip or an integrated circuit.
Fig. 8 is a schematic structural diagram of a cloud server according to an embodiment of the present application. As shown in fig. 8, the cloud server 800 may include: a processor 81 (e.g., CPU), and a memory 82. Various instructions may be stored in the memory 82 for performing various processing functions and implementing the method steps performed by the cloud server in the embodiments of the present application. Optionally, the cloud server according to the embodiment of the present application may further include: a power supply 83, a system bus 84, and a communication port 85. The system bus 84 is used to enable communication connections between the elements. The communication port 85 is used for realizing connection and communication between the cloud server and other peripherals.
In this embodiment of the application, the processor 81 is configured to be coupled with the memory 82, and read and execute the instructions in the memory 82, so as to implement the method steps performed by the cloud server in the above method embodiment. The implementation principle and the technical effect are similar, and are not described in detail herein.
The system bus mentioned in fig. 8 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The system bus may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus. The communication interface is used for realizing communication between the database access device and other equipment (such as a client, a read-write library and a read-only library). The memory may comprise Random Access Memory (RAM) and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
The processor may be a general-purpose processor, including a central processing unit CPU, a Network Processor (NP), and the like; but also a digital signal processor DSP, an application specific integrated circuit ASIC, a field programmable gate array FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components.
Fig. 9 is a schematic structural diagram of a terminal device according to an embodiment of the present application. As shown in fig. 9, the terminal apparatus 900 may include: a processor 91 (e.g., CPU), memory 92, transceiver 93; the transceiver 93 is coupled to the processor 91, and the processor 91 controls the transceiving operation of the transceiver 93. Various instructions may be stored in memory 92 for performing various processing functions and implementing the method steps performed by the terminal device in the embodiments of the present application. Optionally, the terminal device related to the embodiment of the present application may further include: a power supply 94, a system bus 95, and a communication port 96. The transceiver 93 may be integrated in the transceiver of the terminal device or may be a separate transceiving antenna on the terminal device. A system bus 95 is used to enable communication connections between the elements. The communication port 96 is used for realizing connection and communication between the terminal device and other peripherals.
In the embodiment of the present application, the processor 91 is configured to be coupled to the memory 92, and read and execute the instructions in the memory 92, so as to implement the method steps performed by the terminal device in the above method embodiment. The transceiver 93 is coupled to the processor 91, and the processor 91 controls the transceiver 93 to perform message transceiving, which is similar in implementation principle and technical effect and will not be described herein again.
The system bus mentioned in fig. 9 may be a PCI bus or an EISA bus, etc. The system bus may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus. The communication interface is used for realizing communication between the database access device and other equipment (such as a client, a read-write library and a read-only library). The memory may comprise RAM, and may also include a non-volatile memory, such as at least one disk memory.
The processor can be a general processor, including a central processing unit CPU, NP, etc.; but also DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
Optionally, an embodiment of the present application further provides a computer-readable storage medium, where instructions are stored in the storage medium, and when the instructions are executed on a computer, the computer is caused to execute a processing procedure of the cloud server or the terminal device in the foregoing embodiments.
Optionally, an embodiment of the present application further provides a chip for executing the instruction, where the chip is used to execute a processing procedure of the cloud server or the terminal device in the foregoing embodiments.
The embodiment of the present application further provides a program product, where the program product includes a computer program, the computer program is stored in a storage medium, at least one processor may read the computer program from the storage medium, and the at least one processor executes a processing procedure of the cloud server or the terminal device in the above embodiment.
In the embodiments of the present application, "at least one" means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone, wherein A and B can be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship; in the formula, the character "/" indicates that the preceding and following related objects are in a relationship of "division". "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or multiple.
It is to be understood that the various numerical references referred to in the embodiments of the present application are merely for convenience of description and distinction and are not intended to limit the scope of the embodiments of the present application.
It should be understood that, in the embodiment of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiment of the present application.

Claims (21)

1. An application generation method, comprising:
executing a test case, wherein the test case is used for triggering a first target application to be executed on first terminal equipment, and the execution is starting and/or running;
acquiring information of a hot object in the execution of the first target application;
and generating a second target application according to the information of the hot object in the execution of the first target application, wherein the second target application comprises the information of the hot object in the execution of the first target application.
2. The method of claim 1, wherein the obtaining information of the hot object in the execution of the first target application comprises:
and acquiring the information of the hot object in the execution of the first target application from a first terminal device, wherein the first terminal device is used for acquiring the information of the hot object in the execution of the first target application.
3. The method according to claim 1 or 2, wherein the test case is used for performing a compatibility test on the first target application, and/or the test case is used for performing a test corresponding to a target function module on the first target application, and the target function module is a function module in the first target application, where a user usage frequency is greater than a third preset frequency.
4. The method according to any one of claims 1-3, further comprising:
receiving information of the hot object in the execution of the second target application reported by a plurality of second terminal devices;
and generating a third target application according to the information of the hot object in the execution of the second target application, wherein the third target application comprises the information of the hot object in the execution of the second target application.
5. The method of claim 4, wherein generating a third target application according to the information about the hot object in the execution of the second target application comprises:
and generating the third target application according to the information of the hot object in the execution of the second target application and the information of the hot object in the execution of the first target application.
6. The method according to claim 5, wherein the generating the third target application according to the information about the hot object in the process of starting and running the second target application and the information about the hot object in the process of executing the first target application comprises:
counting the number of the second terminal devices and the number of the terminal devices reporting the information of the first hotspot object in the first terminal device;
and if the number of the second terminal devices and the number of the terminal devices reporting the information of the first hot spot object in the first terminal device are larger than a second preset threshold, taking the first hot spot object as a hot spot object in the third target application.
7. The method according to any one of claims 1 to 6, wherein the hot-spot object is an object that is called more than a first preset threshold number of times in application execution, and the hot-spot object includes: at least one of class, method, function, field.
8. The method of any one of claims 1-7, wherein the information of the hot object comprises: the identification of the hot object, the type of the hot object, and whether the hot object belongs to the object called by the class initialization method.
9. The method according to any one of claims 1 to 8, wherein the information of the hot spot objects of the same type is stored in the same partition in order, and the partition is a storage area in a terminal device where an application is installed.
10. An application generation apparatus, comprising: a processing module;
the processing module is used for executing a test case, wherein the test case is used for triggering a first target application to be executed on a first terminal device, and the execution is starting and/or running; and the number of the first and second groups,
acquiring information of a hot object in the execution of the first target application; and the number of the first and second groups,
and generating a second target application according to the information of the hot object in the execution of the first target application, wherein the second target application comprises the information of the hot object in the execution of the first target application.
11. The apparatus of claim 10, wherein the processing module is specifically configured to:
and acquiring the information of the hot object in the execution of the first target application from a first terminal device, wherein the first terminal device is used for acquiring the information of the hot object in the execution of the first target application.
12. The apparatus according to claim 10 or 11, wherein the test case is configured to perform compatibility testing on the first target application, and/or the test case is configured to perform testing corresponding to a target function module on the first target application, where the target function module is a function module in the first target application, where a user usage frequency of the function module is greater than a third preset frequency.
13. The apparatus of any one of claims 10-12, further comprising: a receiving module;
the receiving module is configured to receive information of the hotspot object in the execution of the second target application, which is reported by a plurality of second terminal devices;
the processing module is further configured to generate a third target application according to the information of the hot object in the execution of the second target application, where the third target application includes the information of the hot object in the execution of the second target application.
14. The apparatus of claim 13, wherein the processing module is specifically configured to:
and generating the third target application according to the information of the hot object in the execution of the second target application and the information of the hot object in the execution of the first target application.
15. The apparatus of claim 14, wherein the processing module is specifically configured to:
counting the number of the second terminal devices and the number of the terminal devices reporting the information of the first hotspot object in the first terminal device; and when the number of the second terminal devices and the number of the terminal devices reporting the information of the first hot spot object in the first terminal device are larger than a second preset threshold, taking the first hot spot object as a hot spot object in the third target application.
16. The apparatus according to any one of claims 10 to 15, wherein the hot-spot object is an object that is called more than a first preset threshold number of times in application execution, and the hot-spot object includes: at least one of class, method, function, field.
17. The apparatus according to any one of claims 10-16, wherein the information of the hot object comprises: the identification of the hot object, the type of the hot object, and whether the hot object belongs to the object called by the class initialization method.
18. The apparatus according to any one of claims 10 to 17, wherein the information of the hot spot objects of the same type is stored in the same partition in order, and the partition is a storage area in a terminal device where an application is installed.
19. A cloud server, comprising: a memory and a processor;
the processor is coupled to the memory, and reads and executes instructions in the memory to implement the method steps of any one of claims 1-9.
20. A computer program product, characterized in that the computer program product comprises computer program code which, when executed by a computer, causes the computer to perform the method of any of claims 1-9.
21. A computer-readable storage medium having stored thereon computer instructions which, when executed by a computer, cause the computer to perform the method of any of claims 1-9.
CN201910755119.2A 2019-08-15 2019-08-15 Application program generation method and device, cloud server and readable storage medium Active CN110659189B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910755119.2A CN110659189B (en) 2019-08-15 2019-08-15 Application program generation method and device, cloud server and readable storage medium
PCT/CN2020/108346 WO2021027801A1 (en) 2019-08-15 2020-08-11 Application program generation method and apparatus, and cloud server and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910755119.2A CN110659189B (en) 2019-08-15 2019-08-15 Application program generation method and device, cloud server and readable storage medium

Publications (2)

Publication Number Publication Date
CN110659189A true CN110659189A (en) 2020-01-07
CN110659189B CN110659189B (en) 2021-02-23

Family

ID=69037504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910755119.2A Active CN110659189B (en) 2019-08-15 2019-08-15 Application program generation method and device, cloud server and readable storage medium

Country Status (2)

Country Link
CN (1) CN110659189B (en)
WO (1) WO2021027801A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027801A1 (en) * 2019-08-15 2021-02-18 华为技术有限公司 Application program generation method and apparatus, and cloud server and readable storage medium
WO2021027700A1 (en) * 2019-08-15 2021-02-18 华为技术有限公司 Application program starting method and apparatus, terminal device and readable storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786586A (en) * 2014-12-23 2016-07-20 龙芯中科技术有限公司 Hot method identification method and apparatus
CN106844153A (en) * 2017-01-20 2017-06-13 北京奇虎科技有限公司 Application program operation and monitoring method, device and terminal
US20180203674A1 (en) * 2017-01-18 2018-07-19 Oracle International Corporation Generating data mappings for user interface screens and screen components for an application
US20190098076A1 (en) * 2012-12-21 2019-03-28 Bmc Software, Inc. Application monitoring for cloud-based architectures
CN109840168A (en) * 2019-02-14 2019-06-04 北京字节跳动网络技术有限公司 Software rejuvenation method, apparatus, terminal and medium
EP3506090A1 (en) * 2016-09-12 2019-07-03 Huawei Technologies Co., Ltd. Method and apparatus for quietly booting application in background, and terminal device
CN110134410A (en) * 2019-05-17 2019-08-16 北京百度网讯科技有限公司 It is cold-started customized information correlating method, device and the storage medium of user

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810115B2 (en) * 2017-12-21 2020-10-20 Verizon Patent And Licensing Inc. Systems and methods using artificial intelligence to identify, test, and verify system modifications
CN108228465A (en) * 2018-01-18 2018-06-29 北京网信云服信息科技有限公司 A kind of Software function test method and device
CN110119348B (en) * 2018-02-06 2022-12-13 福建天泉教育科技有限公司 Software upgrading test method and terminal
CN110659189B (en) * 2019-08-15 2021-02-23 华为技术有限公司 Application program generation method and device, cloud server and readable storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190098076A1 (en) * 2012-12-21 2019-03-28 Bmc Software, Inc. Application monitoring for cloud-based architectures
CN105786586A (en) * 2014-12-23 2016-07-20 龙芯中科技术有限公司 Hot method identification method and apparatus
EP3506090A1 (en) * 2016-09-12 2019-07-03 Huawei Technologies Co., Ltd. Method and apparatus for quietly booting application in background, and terminal device
US20180203674A1 (en) * 2017-01-18 2018-07-19 Oracle International Corporation Generating data mappings for user interface screens and screen components for an application
CN106844153A (en) * 2017-01-20 2017-06-13 北京奇虎科技有限公司 Application program operation and monitoring method, device and terminal
CN109840168A (en) * 2019-02-14 2019-06-04 北京字节跳动网络技术有限公司 Software rejuvenation method, apparatus, terminal and medium
CN110134410A (en) * 2019-05-17 2019-08-16 北京百度网讯科技有限公司 It is cold-started customized information correlating method, device and the storage medium of user

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
缪汉威: "Android启动优化研究及应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027801A1 (en) * 2019-08-15 2021-02-18 华为技术有限公司 Application program generation method and apparatus, and cloud server and readable storage medium
WO2021027700A1 (en) * 2019-08-15 2021-02-18 华为技术有限公司 Application program starting method and apparatus, terminal device and readable storage medium

Also Published As

Publication number Publication date
WO2021027801A1 (en) 2021-02-18
CN110659189B (en) 2021-02-23

Similar Documents

Publication Publication Date Title
Banerjee et al. Detecting energy bugs and hotspots in mobile apps
CN110673887B (en) Application program starting method and device, terminal equipment and readable storage medium
US20190220389A1 (en) Orchestrating and providing a regression test
US10481964B2 (en) Monitoring activity of software development kits using stack trace analysis
CN110659189B (en) Application program generation method and device, cloud server and readable storage medium
CN111258680B (en) Resource loading method and device, storage medium and electronic device
CN109672722B (en) Data deployment method and device, computer storage medium and electronic equipment
JP2009524856A (en) Qualitatively annotated code
CN106354647A (en) Application detection method and server
CN107092678B (en) Method, device and equipment for acquiring application activity degree
KR101256468B1 (en) Apparatus and method for detecting malicious file
Graubner et al. Multimodal complex event processing on mobile devices
CN113760617A (en) Fault processing method and device, equipment and storage medium
CN111414152B (en) Method, system, readable medium and electronic device for realizing business logic
CN110971478B (en) Pressure measurement method and device for cloud platform service performance and computing equipment
CN114070755A (en) Virtual machine network flow determining method and device, electronic equipment and storage medium
US11729262B2 (en) Enabling analytics for a virtualized application
CN111104281A (en) Game performance monitoring method, device, system and storage medium
CN115827410A (en) Test method and device of performance evaluation tool, test equipment and storage medium
CN108536482B (en) Application shielding method, device, server and storage medium
CN115248772A (en) Interface testing method and device for software middleware
CN107924358B (en) Method and computer-readable medium for probabilistic processor monitoring
CN113900918B (en) Application performance data acquisition method, device, computer equipment and storage medium
CN110764997B (en) Database interface conformance testing method and device
CN114840433A (en) Method and device for managing kernel configuration

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
GR01 Patent grant
GR01 Patent grant