CN106776342B - Method and device for analyzing memory object of mobile application - Google Patents

Method and device for analyzing memory object of mobile application Download PDF

Info

Publication number
CN106776342B
CN106776342B CN201710002669.8A CN201710002669A CN106776342B CN 106776342 B CN106776342 B CN 106776342B CN 201710002669 A CN201710002669 A CN 201710002669A CN 106776342 B CN106776342 B CN 106776342B
Authority
CN
China
Prior art keywords
objects
memory
container
attributes
user
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.)
Active
Application number
CN201710002669.8A
Other languages
Chinese (zh)
Other versions
CN106776342A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710002669.8A priority Critical patent/CN106776342B/en
Publication of CN106776342A publication Critical patent/CN106776342A/en
Application granted granted Critical
Publication of CN106776342B publication Critical patent/CN106776342B/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/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Abstract

The invention provides a method and a device for analyzing memory objects of mobile application, which are used for acquiring objects which are determined by a user from an object container and have memory leakage, wherein the objects stored in the object container correspond to unreleased objects in a memory of the mobile application in real time; and finding the reference path of the object with the memory leakage according to the mark corresponding to the object with the memory leakage, and determining the source of the memory leakage. Compared with the prior art, the method and the device help a user to quickly locate the source of memory leakage, optimize the use of the memory and improve the use experience of the user.

Description

Method and device for analyzing memory object of mobile application
Technical Field
The invention relates to the technical field of computers, in particular to a technology for analyzing a memory object of mobile application.
Background
The memory space of the mobile terminal device is relatively limited, and developers are required to efficiently and normally use the memory when mobile apps (applications) are developed. Especially in Android development, many low-end models have small Memory capacity, and irregular Memory use is very easy to cause an Out Of Memory problem, which greatly damages user experience.
The existing analysis of the memory object is mainly completed by integrating memory analysis tools carried by the development environment, and these tools mainly acquire the use condition of the current app memory by actively Dump (capturing) a memory snapshot and analyzing a memory snapshot file obtained by the Dump to acquire information of memory objects of different types. The memory analysis tool can only analyze the memory usage of specific objects at the bottom layer, and cannot master the memory usage of the app business logic from a higher level. For example: the picture is represented in the memory by using the byte array, the size of the byte array can be obtained by the current analysis tool, but the picture can not be observed, and the picture belongs to which service.
The mode of analyzing the memory by the current memory analysis tool is too abstract, so that a developer cannot intuitively know the use of the current memory object, and the debugging efficiency is reduced. Therefore, when memory leakage occurs, especially when pictures leak, developers need to manually search objects in the memory, and the efficiency is low.
Therefore, how to provide a technology for analyzing a memory object of a mobile application, which can help a user to quickly locate a source of a memory leak and enable the user to intuitively learn an operation corresponding to creating the object, becomes one of the technical problems that the skilled person needs to solve.
Disclosure of Invention
The invention aims to provide a method and a device for analyzing memory objects of mobile applications.
According to an aspect of the present invention, a method for analyzing a memory object of a mobile application is provided, wherein the method includes the following steps:
a, acquiring an object which is determined by a user from an object container and has memory leakage, wherein the object stored in the object container corresponds to an unreleased object in a memory in a mobile application in real time;
b, according to the mark corresponding to the object with the memory leakage, finding the reference path of the object with the memory leakage, and determining the source of the memory leakage.
Preferably, the step b includes:
searching the determined object with memory leakage by traversing all the objects;
and reversely constructing a shortest path with relation according to the mark corresponding to the object with the memory leakage, thereby finding the reference path of the object with the memory leakage and determining the source of the memory leakage.
Preferably, the method further comprises:
when the x system calls the object creating method, taking over the object creating method in a hijacking mode to create the object;
y marking the object generated in the creating process when the object is created;
and z, displaying the marked object and the corresponding attribute thereof to the user in the object container.
Preferably, the step y comprises:
and when the object is created, marking the object generated in the creation process by using the weak reference with the key value.
Preferably, the method further comprises:
and updating the object container according to the recovered object, wherein the object stored in the object container corresponds to the unreleased object in the memory in real time by the mobile application.
Preferably, the hijacking mode includes:
finding a class corresponding to the object and a method and parameters for creating the object in the class through reflection;
modifying the type of the method, and calling the method of the JAVA layer reversely.
Preferably, said step z comprises:
sequencing the marked objects and the corresponding attributes thereof according to a preset rule;
displaying the sorted marked objects and the attributes corresponding to the objects to a searching user in the object container;
wherein the predetermined rule comprises at least any one of:
sorting the objects and the attributes of the objects according to the generation time of the objects;
and sorting the objects and the attributes of the objects according to the sizes of the objects.
According to another aspect of the present invention, there is also provided an analysis apparatus for analyzing a memory object of a mobile application, wherein the analysis apparatus includes:
the device comprises an acquisition device, a storage device and a processing device, wherein the acquisition device is used for acquiring an object which is determined by a user from an object container and has memory leakage, and the object stored in the object container corresponds to an unreleased object in a memory in real time by a mobile application;
and the searching device is used for searching the reference path of the object with the memory leakage according to the mark corresponding to the object with the memory leakage and determining the source of the memory leakage.
Preferably, the searching means is configured to:
searching the determined object with memory leakage by traversing all the objects;
and reversely constructing a shortest path with relation according to the mark corresponding to the object with the memory leakage, thereby finding the reference path of the object with the memory leakage and determining the source of the memory leakage.
Preferably, the analysis device further comprises:
the hijacking device is used for taking over the object creating method in a hijacking mode to create the object when the system calls the object creating method;
the marking device is used for marking the object generated in the creating process when the object is created;
and the showing device is used for showing the marked object and the attribute corresponding to the marked object to the user in the object container.
Preferably, the marking device is configured to:
and when the object is created, marking the object generated in the creation process by using the weak reference with the key value.
Preferably, the analysis device further comprises:
and the updating device is used for updating the object container according to the recovered objects, wherein the objects stored in the object container correspond to the unreleased objects in the memory of the mobile application in real time.
Preferably, the hijacking mode includes:
finding a class corresponding to the object and a method and parameters for creating the object in the class through reflection;
modifying the type of the method, and calling the method of the JAVA layer reversely.
Preferably, the presentation device comprises:
the sorting unit is used for sorting the marked objects and the corresponding attributes thereof according to a preset rule;
the display unit is used for displaying the sorted marked objects and the attributes corresponding to the objects to a search user in the object container;
wherein the predetermined rule comprises at least any one of:
sorting the objects and the attributes of the objects according to the generation time of the objects;
and sorting the objects and the attributes of the objects according to the sizes of the objects.
Compared with the prior art, the invention has the following advantages:
according to the method and the device, the reference path of the memory leakage is found according to the object which is determined by the user from the object container and has the memory leakage and the mark corresponding to the object which has the memory leakage, so that the user is helped to quickly locate the source of the memory leakage, the use of the memory is optimized, and the use experience of the user is improved.
Furthermore, the invention marks all the objects, and displays the marked objects and the corresponding attributes thereof to the user in the object container, so that the user can intuitively observe the memory use condition in real time and learn the information such as the size, the creating time and the like of the memory, thereby more intuitively learning the operation corresponding to the object creating and improving the debugging efficiency.
Drawings
Other features, objects and advantages of the invention will become more apparent upon reading of the detailed description of non-limiting embodiments made with reference to the following drawings:
fig. 1 is a schematic diagram illustrating an analysis apparatus for analyzing memory objects of a mobile application according to an aspect of the present invention;
FIG. 2 illustrates a schematic diagram of a presentation of a marked picture and picture attributes according to one embodiment of the present invention;
FIG. 3 is a flow chart illustrating a method for analyzing memory objects of a mobile application according to another aspect of the present invention.
The same or similar reference numbers in the drawings identify the same or similar elements.
Detailed Description
Before discussing exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel, concurrently, or simultaneously. In addition, the order of the operations may be re-arranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, and the like.
The methods discussed below, some of which are illustrated by flow diagrams, may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine or computer readable medium such as a storage medium. The processor(s) may perform the necessary tasks.
Specific structural and functional details disclosed herein are merely representative and are provided for purposes of describing example embodiments of the present invention. The present invention may, however, be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element may be termed a second element, and, similarly, a second element may be termed a first element, without departing from the scope of example embodiments. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements (e.g., "between" versus "directly between", "adjacent" versus "directly adjacent to", etc.) should be interpreted in a similar manner.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be noted that, in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may, in fact, be executed substantially concurrently, or the figures may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Fig. 1 is a schematic structural diagram of an analysis apparatus for analyzing memory objects of a mobile application according to an aspect of the present invention. The analysis device 1 includes: acquisition means 101 and lookup means 102.
Here, the analysis apparatus 1 is located in a user device, for example, including but not limited to a personal computer, a laptop computer, a tablet computer, a smart phone, a PDA, etc., and the analysis apparatus 1 is connected to the mobile device through a network, a data connection line, or other means, so as to analyze the memory object of the mobile application. Mobile devices include, but are not limited to, tablets, smart phones, PDAs, and the like. It should be understood by those skilled in the art that the foregoing user equipment and mobile devices are merely examples, and that user equipment or mobile devices that are currently available or that may later become available are also included within the scope of the present invention and are hereby incorporated by reference. Those skilled in the art will also appreciate that the user equipment and the mobile device described herein refer to an intelligent electronic device capable of executing predetermined processes such as numerical calculation and/or logic calculation by executing predetermined programs or instructions, and may include a processor and a memory, wherein the processor executes pre-stored instructions stored in the memory to execute the predetermined processes, or the user equipment and the mobile device execute the predetermined processes by hardware such as ASIC, FPGA, DSP, or a combination thereof.
The obtaining device 101 obtains an object with memory leakage determined by a user from an object container, where the object stored in the object container corresponds to an unreleased object in a memory of a mobile application in real time. Specifically, some mobile applications use objects, which are resident in a memory block of a memory due to non-subjective factors, so that the memory block cannot be released, that is, the memory leaks from the memory. When the mobile application program runs, the corresponding object in the memory is stored in the object container, if a certain object in the memory is recovered during the period, the analysis device 1 removes the object from the container to ensure that all the objects in the object container are objects that are not released in the memory, that is, the object stored in the object container corresponds to the unreleased object in the memory in real time, the user determines the object with memory leakage in the object container through manual identification or through automatic identification, and the obtaining device 101 obtains the object with memory leakage determined by the user from the object container by calling an Application Program Interface (API) or other agreed communication modes provided by the user equipment once or multiple times.
For example, the object is a picture, in an android system of the mobile device, the picture is identified by a Bitmap, that is, all pictures in App are created by using a Bitmap class or a related tool class, and the creation process is completed in a Framework layer of an android operating system, after the picture is placed in an object container, if the picture is recovered, a refine method of the Bitmap is called, the picture is removed from the object container by the analysis apparatus 1, the picture stored in the object container corresponds to an unreleased picture in a memory in real time by a mobile application, a user determines which pictures have a memory leak according to development experience, a currently running program or a currently active window, or identifies which pictures have a memory leak by an automatic identification tool, so that the analysis apparatus 1 analyzes and locates the pictures having a memory leak, for example, a certain picture can only appear in a hundred degree map, when the user finds that the Baidu map is closed at the moment and the Baidu map cannot be called any more in the near future, the user judges that the memory leakage occurs in the picture; if the user wants to leave the picture in the memory so as to accelerate the access speed when accessing the hundred-degree map next time, the picture is judged to be a cache picture and not to belong to memory leakage.
It should be understood by those skilled in the art that the manner in which a user determines an object with a memory leak from an object container is merely an example, and that any manner in which a user determines an object with a memory leak, whether currently existing or that may occur in the future, such as may be suitable for use with the present invention, is included within the scope of the present invention and is herein incorporated by reference.
The searching device 102 searches for the reference path of the object with memory leakage according to the mark corresponding to the object with memory leakage, and determines the source of the memory leakage. Specifically, if a user wants to quickly analyze and locate the source of a memory leak, all objects in the memory may be marked in a predetermined manner. For example, hijacking the object in a hook manner, completing the marking of the object, where the marking encapsulates the object with another class and numbers, and does not change the content of the object, and then placing the marked object into the object container according to the numbering sequence for unified management, where the object stored in the object container corresponds to the object that is not released in the memory by the mobile application in real time, the user determines the object with memory leak in the object container through manual identification or through automatic identification, and the obtaining device 101 obtains the marked object with memory leak determined by the user from the object container. In the mobile device, the memory usage of the application program is stored as a system memory check file, when analyzing the file, the lookup apparatus 102 searches, according to the mark of the object obtained by the obtaining apparatus 101, a invoked reference path of the object in the system by a predetermined search method, for example, depth-first search or breadth-first search, determines that the object has been invoked according to the reference path, and does not recover the program or the program segment of the object after the invocation is completed, and the lookup apparatus 102 determines the source of the memory leak of the object according to the result.
For example, when the object is a picture, and a system adopted by the mobile device is an android system, a memory occupation situation of each application program in the system may be described by using a memory snapshot, the memory snapshot is generally stored as a file in an hprof format, where the file in the hprof format is a system memory check file, the file in the hprof format describes all basic types, the use states of the object, the stack, and the heap in the current application program, and through analysis of the file, a reference path of an object of a certain class in a memory can be found, specifically, the analyzing device 1 marks all bitmaps, and when the hprof file is read and analyzed, according to the mark of the picture with memory leak acquired by the acquiring device 101, the searching device 102 searches and searches for the picture in the object container, stores the reference path of the picture, and finds the picture with memory leak, and obtaining the reference path of the picture with the memory leakage, and determining the source of the picture leakage.
It should be understood by those skilled in the art that the above method for finding the reference path of the object with memory leak is only an example, and existing or future methods for finding the reference path, which may be applicable to the present invention, are included in the scope of the present invention and are herein incorporated by reference.
Preferably, the searching means 102 searches for the determined object with memory leak by traversing all the objects; and reversely constructing a shortest path with relation according to the mark corresponding to the object with the memory leakage, thereby finding the reference path of the object with the memory leakage and determining the source of the memory leakage. Specifically, the searching device 102 traverses all objects by a predetermined traversal method, searches the determined object with memory leakage according to the mark in the traversal process, and stores the reference relationship of the object in the traversal process; and reversely constructing a shortest path with relationship according to the mark corresponding to the object with memory leakage and the reference relationship of the object stored in the traversal process, namely obtaining the reference path of the object and finding the source of the object leakage. Wherein, the traversing means that each node is sequentially visited once and only once along a certain search route; wherein the traversal includes, but is not limited to: graph traversal, including but not limited to: depth-first traversal, breadth-first traversal, and the like; wherein the reference relationship refers to a parent node or a child node stored in a certain node which refers to the object in the traversal.
For example, the object is a picture type, the finding device 102 traverses all pictures by a breadth-first traversal method to find all leaked pictures, and stores the reference relationship of the leaked pictures in the traversal process, for example, stores information of a parent node or a child node of a node to which each leaked picture is referenced, and the finding device 102 finds an application program of the picture leakage by finding the leaked pictures and reversely constructing a shortest path having a relationship based on the stored reference relationship, that is, obtaining a reference path of the picture, and according to the reference path.
Here, the analysis device 1 finds the reference path of the memory leak according to the object with the memory leak and the mark corresponding to the object with the memory leak, which are determined by the user from the object container, and helps the user to quickly locate the source of the memory leak, eliminate invalid cache, optimize the use of the memory, and improve the use experience of the user.
Preferably, the analysis device 1 further comprises: a hijacking device 103 (not shown), a marking device 104 (not shown) and a presentation device 105 (not shown).
When the system calls the object creating method, the hijacking device 103 takes over the object creating method in a hijacking mode to create the object. Specifically, to mark an object in the mobile application, a picture must be acquired in the process of creating the object, and when the system calls a corresponding creation method of the object, the system method may be hijacked by using a hijacking method of the hijacking apparatus 103, for example, a hook mechanism, and the creation cycle of the object is taken over, and the type of the method for creating the object is modified to create the object. Preferably, the hijacking mode includes: 1) finding a class corresponding to the object and a method and parameters for creating the object in the class through reflection; 2) modifying the type of the method, and calling the method of the JAVA layer reversely. Specifically, information such as classes, methods and parameters corresponding to the object creating method is found through reflection in the JAVA layer, the type of the object creating method is modified in the system native layer, the object creating process is processed in the system native layer, the method of the Java layer is called reversely in the system native layer to notify an event of object creating, and marking of the object is completed in the JAVA layer. For example, when the object is a picture, information such as a Bitmap class corresponding to a picture creating method, a createBitmap method and parameters of the created picture in the Bitmap class and the like is found in a JAVA layer through reflection, the picture creating method type is modified in a native layer of a system, the method is modified into a native type method, when the system executes the method, native implementation of the method is found, and then the JAVA layer is reversely called through JNI, and the picture is marked in the JAVA layer.
It will be understood by those skilled in the art that the above hijacking approaches are only examples, and that existing or future hijacking approaches, as applicable to the present invention, are intended to be included within the scope of the present invention and are hereby incorporated by reference.
When creating the object, the marking device 104 marks the object generated in the creating process. Specifically, in the process of creating the object, when each object is created, method a is called first to notify the marking device 104 that creation is about to start, then the object is created by a normal object creating method, and after the object is created, method B is called to notify the marking device 104 that creation is completed, so that marking can be started. The marking device 104 marks the created objects by the method B, and marks one object at the same time when each object is created until all objects are marked, preferably, the marking device 104 puts the marked objects into the object container in order for uniform management. Wherein, the method a is a method designed by the user and called before object creation, so as to inform the marking device 104 that object creation is ready; the method B is designed by the user as needed, informs the marking device 104 that the object creation is completed, and marks the object.
Preferably, when creating the object, the marking device 104 marks the object generated in the creating process by using the weak reference with the key value. Specifically, when the object is strongly held by other objects, the object can be observed through the keyed weak reference, and if the object is not strongly held, the garbage collector can also directly collect the object without affecting the analysis of memory usage, so that the marking device 104 marks the object generated in the creation process by using the keyed weak reference, which is helpful for tracking and releasing the object, and preferably, after the object marking is completed, the marking device 104 puts the weak references into an object container in order for uniform management.
It should be understood by those skilled in the art that the method of marking the object generated in the creation process using the weak reference with the key value is only an example, and any existing or future marking method, such as may be applicable to the present invention, is included in the scope of the present invention and is included herein by reference.
The presentation device 105 presents the marked object and the corresponding attribute to the user in the object container. Specifically, the presentation device 105 obtains the weak references of all the objects in the container, directly uses the weak references with key values (keys) of the objects, presents the corresponding objects in the object container, and the presentation device 105 may randomly present the marked objects in the object container and the corresponding attributes thereof, or may present the objects to the user after sorting; presentation means 105 provide said user with an agreed display, for example by calling one or more dynamic page technologies such as JSP, ASP or PHP, for example, by presenting said objects to said user in a predetermined number of presentations per page, by pulling down the screen or clicking on the "next" icon button, thereby continuing to view a plurality of said objects, and by selecting the manner of sorting, for example by size or by time of generation, by clicking on the button in the display window.
For example, when the object type is a picture, the schematic diagram of displaying the tagged pictures by the display device 105 according to a time-reversed arrangement is shown in fig. 2, the display device 105 displays the tagged pictures to the user, attributes of the pictures such as sizes, storage sizes, and tags to the pictures, and a sorting method, a number of displayed pictures, and a total size adopted by the display device 105, where key in fig. 2 represents the tags of the pictures.
Here, the analysis device 1 displays the marked object and the attribute corresponding to the object in the object container to the user, so that the user can intuitively observe the memory usage in real time, observe which service the object belongs to, and learn the size, the creation time and other information of the object, thereby more intuitively learning the operation corresponding to creating the object, and improving the debugging efficiency. Further, the user determines whether the object is a memory leak according to the object and the attribute of the object displayed in the object container by the display device 105, determines the object with the memory leak, the obtaining device 101 obtains the object with the memory leak and the tag thereof determined by the user according to the display device 105, and the searching device 102 searches and determines the source of the memory leak according to the tag.
A typical application scenario is as follows: the analysis device 1 is used in a mobile phone hectometer product, and in a debugging mode, the analysis device 1 is used for analyzing the picture memory usage in the hectometer, quickly troubleshooting a series of memory usage problems such as picture leakage and invalid cache in a program, and optimizing the performance of the hectometer.
It should be understood by those skilled in the art that the method for determining the object with the memory leak by the user is only an example, and the existing or future method for determining the object with the memory leak by the user, such as the method for determining the object with the memory leak, and the present invention, should be included in the protection scope of the present invention, and is included by the way of reference.
Preferably, the analysis device 1 further comprises: the updating means 106 (not shown).
The updating device 106 updates the object container according to the recovered object, wherein the object stored in the object container corresponds to the unreleased object in the memory of the mobile application in real time. Specifically, in the running process of the mobile application program, if an object is retrieved, the object does not cause memory leak, the updating device 106 removes the object from the object container in real time, updates the object container to ensure that all objects in the object container are objects that are not released in the memory, and the objects stored in the object container correspond to the objects that are not released in the memory of the mobile application in real time. For example, if the object is a picture, and the picture is recycled, that is, the refine method of Bitmap is called, the updating apparatus removes the picture from the object container according to the same method.
When the recycled object is recycled, the object is removed from the object container, so as to ensure that all pictures in the object container are unreleased pictures in the memory.
Preferably, the presentation device 105 comprises: a sorting unit 1051 (not shown) and a presentation unit 1052 (not shown).
The sorting unit 1051 sorts the marked objects and the corresponding attributes thereof according to a predetermined rule; wherein the predetermined rule comprises at least any one of:
sorting the objects and the attributes of the objects according to the generation time of the objects;
and sorting the objects and the attributes of the objects according to the sizes of the objects.
Specifically, in order to facilitate a user to visually observe an object residing in a memory in a current mobile application, the sorting unit 1051 sorts the object and the attribute of the object in order or in reverse order according to a predetermined rule, for example, according to a time sequence generated by the object, or sorts the object and the attribute of the object in order or in reverse order according to the size of the object. Wherein the temporal order of object generation corresponds to the order of the markers.
The presentation unit 1052 presents the sorted marked objects and their corresponding attributes to the searching user in the object container. Specifically, the presentation unit 1052 presents the sorted marked objects and their corresponding attributes to the search user in a dialog box pop-up manner; or the presentation unit 1052 provides the sorted marked objects and their corresponding attributes to the user in a file format, so that the user can save the memory usage process in real time. Further, the process of the object representation is a real-time and dynamically changing process, and the number, content or attribute of the objects can be changed continuously along with the running of the program. When the object is a picture, the display device 105 displays the picture as shown in fig. 2, and fig. 2 illustrates a schematic diagram of displaying the marked picture and the picture attribute.
FIG. 3 is a flow chart illustrating a method for analyzing memory objects of a mobile application according to another aspect of the present invention.
In step S301, the analysis apparatus 1 obtains an object with memory leak determined by a user from an object container, where the object stored in the object container corresponds to an unreleased object in the memory in real time by the mobile application. Specifically, some mobile applications use objects, which are resident in a memory block of a memory due to non-subjective factors, so that the memory block cannot be released, that is, the memory leaks from the memory. When the mobile application program runs, the corresponding object in the memory is stored in the object container, if a certain object in the memory is recovered during this period, the analysis apparatus 1 removes the object from the container to ensure that all the objects in the object container are objects that are not released in the memory, that is, the object stored in the object container corresponds to the unreleased object in the memory in real time, the user determines the object with memory leak in the object container through manual identification or automatic identification, and in step S301, the analysis apparatus 1 obtains the object with memory leak determined by the user from the object container by calling an Application Program Interface (API) provided by the user equipment or other agreed communication modes one or more times.
For example, the object is a picture, in an android system of the mobile device, the picture is identified by a Bitmap, that is, all pictures in App are created by using a Bitmap class or a related tool class, and the creation process is completed in a Framework layer of an android operating system, after the picture is placed in an object container, if the picture is recovered, a refine method of the Bitmap is called, the picture is removed from the object container by the analysis apparatus 1, the picture stored in the object container corresponds to an unreleased picture in a memory in real time by a mobile application, a user determines which pictures have a memory leak according to development experience, a currently running program or a currently active window, or identifies which pictures have a memory leak by an automatic identification tool, so that the analysis apparatus 1 analyzes and locates the pictures having a memory leak, for example, a certain picture can only appear in a hundred degree map, when the user finds that the Baidu map is closed at the moment and the Baidu map cannot be called any more in the near future, the user judges that the memory leakage occurs in the picture; if the user wants to leave the picture in the memory so as to accelerate the access speed when accessing the hundred-degree map next time, the picture is judged to be a cache picture and not to belong to memory leakage.
It should be understood by those skilled in the art that the manner in which a user determines an object with a memory leak from an object container is merely an example, and that any manner in which a user determines an object with a memory leak, whether currently existing or that may occur in the future, such as may be suitable for use with the present invention, is included within the scope of the present invention and is herein incorporated by reference.
In step S302, the analysis device 1 finds the reference path of the object with memory leak according to the mark corresponding to the object with memory leak, and determines the source of the memory leak. Specifically, if a user wants to quickly analyze and locate the source of a memory leak, all objects in the memory may be marked in a predetermined manner. For example, hijacking the object in a hook manner, completing the marking of the object, where the marking encapsulates the object with another class and numbers, and does not change the content of the object, and then placing the marked object into the object container according to the numbering sequence for unified management, where the object stored in the object container corresponds to the object that is not released in the memory by the mobile application in real time, the user determines the object with memory leak in the object container through manual identification or through automatic identification, and in step S301, the analysis device 1 obtains the marked object with memory leak determined by the user from the object container. In the mobile device, the memory usage of the application program is stored as a system memory check file, when analyzing the file, in step S302, the analysis apparatus 1 searches, according to the mark of the object obtained in step S301, a invoked reference path of the object in the system by a predetermined search method, for example, depth-first search or breadth-first search, determines that the object has been invoked according to the invoked reference path, and does not recover the program or the program segment of the object after the invocation is completed, and in step S301, the analysis apparatus 1 determines a source of the memory leak of the object according to the determination.
For example, when the object is a picture, and a system adopted by the mobile device is an android system, a memory occupation situation of each application program in the system may be described by using a memory snapshot, the memory snapshot is generally stored as a file in an hprof format, where the file in the hprof format is a system memory check file, the file in the hprof format describes all basic types, the use states of the object, the stack, and the heap in the current application program, a reference path of an object of a certain class in the memory can be found by analyzing the file, specifically, the analyzing apparatus 1 marks all bitmaps, and when the hprof file is read and analyzed, according to the mark of the picture with the memory leak acquired by the analyzing apparatus 1 in step S301, in step S302, the analyzing apparatus 1 searches for and searches for the picture in the object container, and stores the reference path of the picture, and searching the picture with the memory leakage to obtain a reference path of the picture with the memory leakage, and determining a source of the picture leakage.
It should be understood by those skilled in the art that the above method for finding the reference path of the object with memory leak is only an example, and existing or future methods for finding the reference path, which may be applicable to the present invention, are included in the scope of the present invention and are herein incorporated by reference.
Preferably, in step S302, the analysis device 1 searches for the determined object with the memory leak by traversing all the objects; and reversely constructing a shortest path with relation according to the mark corresponding to the object with the memory leakage, thereby finding the reference path of the object with the memory leakage and determining the source of the memory leakage. Specifically, in step S302, the analysis device 1 traverses all objects by a predetermined traversal method, searches for the determined object with memory leak according to the mark in the traversal process, and stores the reference relationship of the object in the traversal process; and reversely constructing a shortest path with relationship according to the mark corresponding to the object with memory leakage and the reference relationship of the object stored in the traversal process, namely obtaining the reference path of the object and finding the source of the object leakage. Wherein, the traversing means that each node is sequentially visited once and only once along a certain search route; wherein the traversal includes, but is not limited to: graph traversal, including but not limited to: depth-first traversal, breadth-first traversal, and the like; wherein the reference relationship refers to a parent node or a child node stored in a certain node which refers to the object in the traversal.
For example, the object is a picture type, in step S302, the analysis apparatus 1 traverses all pictures by a breadth-first traversal method to find all leaked pictures, and stores a reference relationship of the leaked pictures in the traversal process, for example, stores information of a parent node or a child node of a node to which each leaked picture is referenced, in step S302, the analysis apparatus 1 obtains a reference path of the picture by finding the leaked pictures and reversely constructing a shortest path that constitutes a relationship based on the stored reference relationship, and finds an application program for picture leakage according to the reference path.
Here, the analysis device 1 finds the reference path of the memory leak according to the object with the memory leak and the mark corresponding to the object with the memory leak, which are determined by the user from the object container, and helps the user to quickly locate the source of the memory leak, eliminate invalid cache, optimize the use of the memory, and improve the use experience of the user.
Preferably, the method further comprises: step S303 (not shown), step S304 (not shown), and step S305 (not shown).
When the system calls the object creation method, in step S301, the analysis apparatus 1 takes over the object creation method in a hijacking manner to create the object. Specifically, to mark an object in the mobile application, a picture must be obtained in the process of creating the object, and when the system calls a corresponding creation method of the object, the system method may be hijacked in the hijacking manner in step S303, for example, by using a hook mechanism, and the creation cycle of the object is taken over, and the type of the method for creating the object is modified, so as to create the object. Preferably, the hijacking mode includes: 1) finding a class corresponding to the object and a method and parameters for creating the object in the class through reflection; 2) modifying the type of the method, and calling the method of the JAVA layer reversely. Specifically, information such as classes, methods and parameters corresponding to the object creating method is found through reflection in the JAVA layer, the type of the object creating method is modified in the system native layer, the object creating process is processed in the system native layer, the method of the Java layer is called reversely in the system native layer to notify an event of object creating, and marking of the object is completed in the JAVA layer. For example, when the object is a picture, information such as a Bitmap class corresponding to a picture creating method, a createBitmap method and parameters of the created picture in the Bitmap class and the like is found in a JAVA layer through reflection, the picture creating method type is modified in a native layer of a system, the picture creating method type is modified into a native type method, when the system executes the method, the native implementation of the method is found, and then the marking of the picture is completed in the JAVA layer through a method of calling the JAVA layer in a JNI reverse direction.
It will be understood by those skilled in the art that the above hijacking approaches are only examples, and that existing or future hijacking approaches, as applicable to the present invention, are intended to be included within the scope of the present invention and are hereby incorporated by reference.
When creating the object, the analysis apparatus 1 marks the object generated in the creation process in step S304. Specifically, in the process of creating the object, when each object is created, method a is called first to inform the analysis device 1 that creation is about to start, then the object is created by a normal object creation method, and after the object is created, method B is called to inform the analysis device 1 that creation is completed, and marking can be started. In step S304, the analysis apparatus 1 marks the created objects by the method B, and marks one object each time one object is created until marking of all the objects is completed, preferably, in step S304, the analysis apparatus 1 puts the marked objects into the object container in order for uniform management. Wherein the method a is a method designed by a user and called before object creation to inform the analysis apparatus 1 of the preparation for object creation; the method B is designed by the user as needed, informs the analysis apparatus 1 that the object creation has been completed, and marks the object.
Preferably, when creating the object, in step S304, the analysis apparatus 1 marks the object generated in the creation process with a weak reference with a key. Specifically, when the object is strongly held by other objects, the object can be observed through the keyed weak reference, and if the object is not strongly held, the garbage collector can also directly collect the object without affecting the analysis of memory usage, so in step S304, the analyzing apparatus 1 marks the object generated in the creating process with the keyed weak reference, which is helpful for tracking and releasing the object, and preferably, after the object marking is completed, the analyzing apparatus 1 puts the weak references into the object container in order for uniform management in step S304.
It should be understood by those skilled in the art that the method of marking the object generated in the creation process using the weak reference with the key value is only an example, and any existing or future marking method, such as may be applicable to the present invention, is included in the scope of the present invention and is included herein by reference.
In step S305, the analysis apparatus 1 presents the marked object and its corresponding attribute to the user in the object container. Specifically, in step S305, the analysis device 1 obtains the weak references of all the objects in the container, directly uses the weak references with key values (keys) of the objects, and displays the corresponding objects in the object container, in step S305, the analysis device 1 may randomly display the marked objects in the object container and their corresponding attributes, or may display the objects after sorting to the user; in step S305, the analysis apparatus 1 provides the user with an agreed display, for example, by calling one or more dynamic page technologies such as JSP, ASP or PHP, for example, by presenting the objects in a predetermined number of pages, and continues to view a plurality of the objects by pulling down the screen or clicking the "next" icon button, and selects the sort mode, for example, by size or by generation time, by clicking the button on the display window.
For example, when the object type is a picture, in step S305, the schematic diagram of the analyzing apparatus 1 displaying the tagged pictures according to the time-reversal arrangement is shown in fig. 2, the displaying apparatus 105 displays the tagged pictures to the user, the attributes of the pictures such as the size, storage size, and tags to the pictures of the tagged pictures, the sorting method adopted by the analyzing apparatus 1, the number of the displayed pictures, and the total size, and key in fig. 2 represents the tags of the pictures.
Here, the analysis device 1 displays the marked object and the attribute corresponding to the object in the object container to the user, so that the user can intuitively observe the memory usage in real time, observe which service the object belongs to, and learn the size, the creation time and other information of the object, thereby more intuitively learning the operation corresponding to creating the object, and improving the debugging efficiency. Further, the user determines whether the object is a memory leak according to the object and the attribute of the object thereof displayed in the object container by the analysis device 1, and determines the object with the memory leak, in step S301, the analysis device 1 obtains the object with the memory leak and the tag thereof determined by the user according to the analysis device 1 in step S305, and in step S302, the analysis device 1 searches and determines the source of the memory leak according to the tag.
A typical application scenario is as follows: the method is applied to products of 'mobile phone hundredth', and in a debugging mode, the method is used for analyzing the use of the picture memory in the 'mobile phone hundredth', quickly troubleshooting a series of memory use problems of picture leakage, invalid cache and the like in a program, and optimizing the performance of the 'mobile phone hundredth'.
It should be understood by those skilled in the art that the method for determining the object with the memory leak by the user is only an example, and the existing or future method for determining the object with the memory leak by the user, such as the method for determining the object with the memory leak, and the present invention, should be included in the protection scope of the present invention, and is included by the way of reference.
Preferably, the method further comprises: step S306 (not shown).
In step S306, the analysis device 1 updates the object container according to the recovered object, where the object stored in the object container corresponds to the unreleased object in the memory in real time. Specifically, in the running process of the mobile application program, if an object is retrieved, the object does not cause memory leak, in step S306, the analysis device 1 removes the object from the object container in real time, updates the object container to ensure that all objects in the object container are objects that are not released in the memory, and the objects stored in the object container correspond to the objects that are not released in the memory in real time by the mobile application. For example, if the object is a picture that is recycled, i.e., the refine method of Bitmap is called, the analysis apparatus 1 removes the picture from the object container in the same way.
When the recycled object is recycled, the object is removed from the object container, so as to ensure that all pictures in the object container are unreleased pictures in the memory.
Preferably, the step S305 includes: substep S3051 (not shown) and substep S3052 (not shown).
In sub-step S3051, the analysis apparatus 1 sorts the marked objects and their corresponding attributes according to a predetermined rule; wherein the predetermined rule comprises at least any one of:
sorting the objects and the attributes of the objects according to the generation time of the objects;
and sorting the objects and the attributes of the objects according to the sizes of the objects.
Specifically, in order to facilitate the user to visually observe the object residing in the memory in the current mobile application, in sub-step S3051, the analysis apparatus 1 sorts the objects and the attributes of the objects in order or in reverse order according to a predetermined rule, for example, according to a time sequence generated according to the objects, or sorts the objects and the attributes of the objects in order or in reverse order according to the sizes of the objects. Wherein the temporal order of object generation corresponds to the order of the markers.
In sub-step S3052, the analysis apparatus 1 presents the sorted marked objects and their corresponding attributes to a search user in the object container. Specifically, in sub-step S3052, the analysis apparatus 1 presents the sorted marked objects and their corresponding attributes to the search user in a manner of popping up a dialog box; or in sub-step S3052, the analysis apparatus 1 provides the sorted marked objects and their corresponding attributes to the user in a file format, so that the user saves the memory usage process in real time. Further, the process of the object representation is a real-time and dynamically changing process, and the number, content or attribute of the objects can be changed continuously along with the running of the program. When the object is a picture, in step S305, the analysis apparatus 1 displays the picture as shown in fig. 2, and fig. 2 shows a schematic diagram of displaying the marked picture and the picture attribute.
It is noted that the present invention may be implemented in software and/or in a combination of software and hardware, for example, the various means of the invention may be implemented using Application Specific Integrated Circuits (ASICs) or any other similar hardware devices. In one embodiment, the software program of the present invention may be executed by a processor to implement the steps or functions described above. Also, the software programs (including associated data structures) of the present invention can be stored in a computer readable recording medium, such as RAM memory, magnetic or optical drive or diskette and the like. Further, some of the steps or functions of the present invention may be implemented in hardware, for example, as circuitry that cooperates with the processor to perform various steps or functions.
It will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is obvious that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. A plurality of units or means recited in the system claims may also be implemented by one unit or means in software or hardware. The terms first, second, etc. are used to denote names, but not any particular order.

Claims (20)

1. A method for analyzing memory objects of a mobile application, wherein the method comprises the steps of:
a, acquiring an object which is determined by a user from an object container and has memory leakage, wherein the object stored in the object container corresponds to an unreleased object in a memory in a mobile application in real time;
b, according to the mark corresponding to the object with the memory leakage, finding the reference path of the object with the memory leakage, determining the source of the memory leakage, packaging the object by using a class and numbering the object by using the mark, and storing the marked object into the object container according to the numbering sequence.
2. The method of claim 1, wherein the step b comprises:
searching the determined object with memory leakage by traversing all the objects;
and reversely constructing a shortest path with relation according to the mark corresponding to the object with the memory leakage, thereby finding the reference path of the object with the memory leakage and determining the source of the memory leakage.
3. The method of claim 1 or 2, wherein the method further comprises:
when the x system calls the object creating method, taking over the object creating method in a hijacking mode to create the object;
y marking the object generated in the creating process when the object is created;
and z, displaying the marked object and the corresponding attribute thereof to the user in the object container.
4. The method of claim 3, wherein the step y comprises:
and when the object is created, marking the object generated in the creation process by using the weak reference with the key value.
5. The method of claim 3, wherein the method further comprises:
and updating the object container according to the recovered object, wherein the object stored in the object container corresponds to the unreleased object in the memory in real time by the mobile application.
6. The method of claim 4, wherein the method further comprises:
and updating the object container according to the recovered object, wherein the object stored in the object container corresponds to the unreleased object in the memory in real time by the mobile application.
7. The method of claim 3, wherein the hijacking manner comprises:
finding a class corresponding to the object and a method and parameters for creating the object in the class through reflection;
modifying the type of the method, and calling the method of the JAVA layer reversely.
8. The method according to any one of claims 4-6, wherein the hijacking manner comprises:
finding a class corresponding to the object and a method and parameters for creating the object in the class through reflection;
modifying the type of the method, and calling the method of the JAVA layer reversely.
9. The method of claim 3, wherein the step z comprises:
sequencing the marked objects and the corresponding attributes thereof according to a preset rule;
displaying the sorted marked objects and the attributes corresponding to the objects to a searching user in the object container;
wherein the predetermined rule comprises at least any one of:
sorting the objects and the attributes of the objects according to the generation time of the objects;
and sorting the objects and the attributes of the objects according to the sizes of the objects.
10. The method according to any one of claims 4-6, wherein said step z comprises:
sequencing the marked objects and the corresponding attributes thereof according to a preset rule;
displaying the sorted marked objects and the attributes corresponding to the objects to a searching user in the object container;
wherein the predetermined rule comprises at least any one of:
sorting the objects and the attributes of the objects according to the generation time of the objects;
and sorting the objects and the attributes of the objects according to the sizes of the objects.
11. An analysis apparatus for analyzing memory objects of a mobile application, wherein the analysis apparatus comprises:
the device comprises an acquisition device, a storage device and a processing device, wherein the acquisition device is used for acquiring an object which is determined by a user from an object container and has memory leakage, and the object stored in the object container corresponds to an unreleased object in a memory in real time by a mobile application;
and the searching device is used for searching the reference path of the object with the memory leakage according to the mark corresponding to the object with the memory leakage, determining the source of the memory leakage, packaging the object by using a class and numbering the object by using the mark, and storing the marked object into the object container according to the numbering sequence.
12. The analysis device of claim 11, wherein the lookup device is configured to:
searching the determined object with memory leakage by traversing all the objects;
and reversely constructing a shortest path with relation according to the mark corresponding to the object with the memory leakage, thereby finding the reference path of the object with the memory leakage and determining the source of the memory leakage.
13. The analysis device according to claim 11 or 12, wherein the analysis device further comprises:
the hijacking device is used for taking over the object creating method in a hijacking mode to create the object when the system calls the object creating method;
the marking device is used for marking the object generated in the creating process when the object is created;
and the showing device is used for showing the marked object and the attribute corresponding to the marked object to the user in the object container.
14. The device of claim 13, wherein the tagging device is configured to:
and when the object is created, marking the object generated in the creation process by using the weak reference with the key value.
15. The analysis device of claim 13, further comprising:
and the updating device is used for updating the object container according to the recovered objects, wherein the objects stored in the object container correspond to the unreleased objects in the memory of the mobile application in real time.
16. The analysis device of claim 14, further comprising:
and the updating device is used for updating the object container according to the recovered objects, wherein the objects stored in the object container correspond to the unreleased objects in the memory of the mobile application in real time.
17. The analytics device of claim 13, wherein the hijacking comprises:
finding a class corresponding to the object and a method and parameters for creating the object in the class through reflection;
modifying the type of the method, and calling the method of the JAVA layer reversely.
18. The analysis device according to any one of claims 14-16, wherein the hijacking manner comprises:
finding a class corresponding to the object and a method and parameters for creating the object in the class through reflection;
modifying the type of the method, and calling the method of the JAVA layer reversely.
19. The analysis device of claim 13, wherein the presentation device comprises:
the sorting unit is used for sorting the marked objects and the corresponding attributes thereof according to a preset rule;
the display unit is used for displaying the sorted marked objects and the attributes corresponding to the objects to a search user in the object container;
wherein the predetermined rule comprises at least any one of:
sorting the objects and the attributes of the objects according to the generation time of the objects;
and sorting the objects and the attributes of the objects according to the sizes of the objects.
20. The analysis device according to any one of claims 14-16, wherein the presentation device comprises:
the sorting unit is used for sorting the marked objects and the corresponding attributes thereof according to a preset rule;
the display unit is used for displaying the sorted marked objects and the attributes corresponding to the objects to a search user in the object container;
wherein the predetermined rule comprises at least any one of:
sorting the objects and the attributes of the objects according to the generation time of the objects;
and sorting the objects and the attributes of the objects according to the sizes of the objects.
CN201710002669.8A 2017-01-03 2017-01-03 Method and device for analyzing memory object of mobile application Active CN106776342B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710002669.8A CN106776342B (en) 2017-01-03 2017-01-03 Method and device for analyzing memory object of mobile application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710002669.8A CN106776342B (en) 2017-01-03 2017-01-03 Method and device for analyzing memory object of mobile application

Publications (2)

Publication Number Publication Date
CN106776342A CN106776342A (en) 2017-05-31
CN106776342B true CN106776342B (en) 2020-04-21

Family

ID=58949350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710002669.8A Active CN106776342B (en) 2017-01-03 2017-01-03 Method and device for analyzing memory object of mobile application

Country Status (1)

Country Link
CN (1) CN106776342B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558332B (en) * 2017-09-26 2022-10-25 北京金山安全软件有限公司 Object recovery method and device, electronic equipment and storage medium
CN110083525A (en) * 2019-03-15 2019-08-02 平安普惠企业管理有限公司 Localization method, device, computer equipment and the storage medium of RAM leakage
CN110837465A (en) * 2019-10-15 2020-02-25 珠海金山网络游戏科技有限公司 Android-based handle leakage detection method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4512402B2 (en) * 2004-04-12 2010-07-28 株式会社日立製作所 Method for detecting cause of memory leak and execution program thereof
CN102117242B (en) * 2009-12-30 2015-04-29 新奥特(北京)视频技术有限公司 Method and device for detecting internal memory leakage
CN102148844B (en) * 2010-02-09 2014-08-27 深圳市金蝶中间件有限公司 Memory leak positioning method, server, client and system
CN102289410B (en) * 2011-06-30 2014-03-12 杭州斯凯网络科技有限公司 Method for monitoring allocation situation of memory based on Media-Tech (MTK) platform

Also Published As

Publication number Publication date
CN106776342A (en) 2017-05-31

Similar Documents

Publication Publication Date Title
US8775923B1 (en) Web page restoration
US10088969B2 (en) Image-based automation systems and methods
US8601442B2 (en) Marker correlation of application constructs with visualizations
RU2483350C2 (en) Layout manager
US20140189576A1 (en) System and method for visual matching of application screenshots
US20140218385A1 (en) System and method for visual segmentation of application screenshots
CN107506291B (en) Analysis method and device based on data acquisition
US10810113B2 (en) Method and apparatus for creating reference images for an automated test of software with a graphical user interface
CN104391797A (en) GUI (graphical user interface) widget identification method and device
CN106776342B (en) Method and device for analyzing memory object of mobile application
CN109284102B (en) Information acquisition method and device
US11113137B2 (en) Error incident fingerprinting with unique static identifiers
CN107800757B (en) User behavior recording method and device
CN108595343A (en) The test method and device of application program
CN103984626A (en) Method and device for generating test-case script
EP2951680B1 (en) Acquiring identification of an application lifecycle management entity associated with similar code
Sun et al. Ui components recognition system based on image understanding
CN111625312A (en) APP skin changing method and device, electronic equipment and storage medium
US9880925B1 (en) Collecting structured program code output
CN108829391B (en) Method and system for identifying control in Fragment
CN112711536A (en) Automatic dial testing method and system, and computer readable storage medium
CN109460234B (en) Application slimming method and device, terminal and storage medium
CN104428757A (en) Integrating diagnostic information in development environment
CN113687942A (en) Detection method and device and electronic equipment
US8539171B2 (en) Analysis and timeline visualization of storage channels

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