[go: up one dir, main page]

CN117112118B - View display integrity verification and repair method based on rendering process tracking - Google Patents

View display integrity verification and repair method based on rendering process tracking Download PDF

Info

Publication number
CN117112118B
CN117112118B CN202311362901.0A CN202311362901A CN117112118B CN 117112118 B CN117112118 B CN 117112118B CN 202311362901 A CN202311362901 A CN 202311362901A CN 117112118 B CN117112118 B CN 117112118B
Authority
CN
China
Prior art keywords
api call
view
target
ondraw
api
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
CN202311362901.0A
Other languages
Chinese (zh)
Other versions
CN117112118A (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 Linzhuo Information Technology Co Ltd
Original Assignee
Beijing Linzhuo Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Linzhuo Information Technology Co Ltd filed Critical Beijing Linzhuo Information Technology Co Ltd
Priority to CN202311362901.0A priority Critical patent/CN117112118B/en
Publication of CN117112118A publication Critical patent/CN117112118A/en
Application granted granted Critical
Publication of CN117112118B publication Critical patent/CN117112118B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a view display integrity verification and restoration method based on rendering process tracking, which is characterized in that an application to be tested is started in a fixed window size mode and a free scaling mode respectively, the sequence and parameters of API (application program interface) call related to the rendering of a target view are recorded as a first API call list and a second API call list respectively, whether the target view is displayed completely after the window is freely scaled is determined by comparing whether the first API call list and the second API call list are different or not, and a restoration mode is determined according to the positioned API call which causes the rendering difference on the basis, so that the verification and restoration of the rendering correctness after the free scaling of the appointed view are realized, and the application cross-platform adaptability is improved.

Description

View display integrity verification and repair method based on rendering process tracking
Technical Field
The invention belongs to the technical field of computer application development, and particularly relates to a view display integrity verification and repair method based on rendering process tracking.
Background
The existing application is usually developed for the android system, and the use scene is that a user runs the required android application on a mobile phone or a mobile platform installed with the android system, so that the android application is usually displayed in a full screen mode, and an interface of the android application is usually of a fixed size and does not support size adjustment. Although some folding handsets and tablets currently support simultaneous display of multiple applications and changing application window sizes, such scenarios for mobile terminals are still very few. For the above reasons, many applications, even mainstream applications, do not adapt to the free adjustment of the size and layout of the windows inside when the application window size changes during their development phase.
However, when an android running environment (for example, xDroid) is adopted to run an application on a desktop platform, the display interfaces of the android applications are required to be freely resized in different sizes or different directions of user use requirements, and in this case, problems of incomplete display of a single view in a window and the like caused by incorrect layout attribute setting, incorrect attribute inheritance and the like may often occur for an application which is not adapted to be freely adjusted.
Disclosure of Invention
In view of the above, the invention provides a view display integrity verification and repair method based on rendering process tracking, which realizes automatic judgment of an API level of displaying integrity of a single view in an application after freely scaling an application window.
The invention provides a view display integrity verification and restoration method based on rendering process tracking, which comprises the following steps:
step 1, determining a view to be tested in an application to be tested as a target view, starting an android running environment in a fixed window size mode, starting the application to be tested in the android running environment, taking a window containing the target view as a target window, marking the size of the target window as a first window size, and marking the sequence and parameters of rendering related API calls of the target view as a first API call list;
step 2, starting an android running environment in a free scaling mode, starting an application to be tested in the android running environment, adjusting the size of a target window to be a first window size, and recording the sequence and parameters of rendering related API calls of the target view as a second API call list;
step 3, marking the total drawing areas corresponding to the first API call list and the second API call list as a first total drawing area and a second total drawing area respectively, if the difference between the first total drawing area and the second total drawing area is larger than a threshold value, executing the step 4, otherwise executing the step 5;
step 4, determining the latest layout mode according to the difference and the parameters of the onDraw method or the onDrawFrame method recorded in the first API call list or the second API call list, setting the target view as the latest layout mode, and executing the step 2; the initial value of the latest layout mode is null;
step 5, if the latest layout mode is empty, comparing the API calls in the first API call list and the second API call list one by one, acquiring difference information of all the API calls with differences, and generating error prompts according to the difference information; if the latest layout mode is not empty, the latest layout mode is used as a repair parameter of the target view, and the repair parameter is used as a newly added view layout attribute when the application to be tested is restarted to finish repairing the application to be tested.
Further, the step 4 further includes: and analyzing the difference information of the first total drawing area and the second total drawing area in height and width, and generating error prompt according to the difference information.
Further, the difference information in the step 5 includes: whether the API call exists in the first API call list or the second API call list and whether the parameters of the same API call in the first API call list and the second API call list are the same.
Further, the order of the rendering related API calls of the target view and the acquisition mode of parameters are as follows:
bypassing rendering operations of all views in the target window other than the target view;
if the target view inherits from the GLSurfaceView class, recording the sequence and parameters of OpenGL ES or Vulkan related API calls in the process of one onDrawFrame method call, namely the sequence and parameters of rendering related API calls of the target view; otherwise, recording the sequence and parameters of the Canvas related API call in the process of one onDraw method call, namely the sequence and parameters of the rendering related API call of the target view.
Further, the rendering operation modes of all views except the target view in the bypass target window are as follows: traversing all views in a target window, judging whether the views reload an onDraw method or an onDraw frame method based on a Java reflection mechanism, if not reloading, adding the subsequent steps of skipping the onDraw method or the onDraw frame method for the views of non-target views in the onDraw method of the View class and the onDraw frame method of the GLSurfaceView class, and normally executing the subsequent steps of the onDraw method or the onDraw frame method for the target views; if the view is reloaded, according to the onDraw method or the onDraw frame method of the current view of the reflection mechanism Hook, the subsequent steps of the onDraw method or the onDraw frame method are skipped for the view of the non-target view in the Hook function, and the subsequent steps of the onDraw method or the onDraw frame method are normally executed for the target view.
Further, the judging mode of the non-target view is as follows: and judging according to the view ID.
Further, the method for obtaining the sequence and the parameters of the rendering related API call of the target view further includes:
when a drawing area in a target view related to a current API call covers a drawing area related to a recorded API call in a current first API call list, deleting the API call corresponding to the drawing area from the current first API call list.
Further, the judging manner that the drawing area in the target view related to the current API call covers the drawing area related to the recorded API call in the current first API call list includes: if the current API call is a drawRoundRect call, reducing a rounded rectangle corresponding to the drawRoundRect call to a maximum inner package rectangle, and comparing the maximum inner package rectangle serving as a drawing area with a drawing area related to the recorded API call in the current first API call list; if the recorded API call in the current first API call list is a drawRoundRect call, simplifying a round corner rectangle corresponding to the drawRoundRect call into a minimum outsourcing rectangle, and comparing the minimum outsourcing rectangle serving as a drawing area with the drawing area related to the current API call.
Advantageous effects
According to the method and the device, the application to be tested is started in a fixed window size mode and a free scaling mode respectively, the sequence and parameters of the rendering related API call of the target view are recorded as a first API call list and a second API call list respectively, whether the target view is completely displayed after the window is freely scaled is determined by comparing whether the first API call list and the second API call list are different, a repairing mode is determined according to the positioned API call which causes the rendering difference on the basis, verification and repairing of the rendering correctness of the freely scaled target view are achieved, and the application cross-platform adaptability is improved.
Detailed Description
The present invention will be described in detail with reference to the following examples.
The rendering process of the View in the android system mainly comprises three stages: a measurement stage, a layout stage and a drawing stage, firstly, the measurement stage, the view tree determines the size of each view by calling the measurement method of each node, and the method relates to the size of the view itself, the inner margin padding and the outer margin; then, a layout stage, wherein the view tree determines the display position of each view on a screen by calling a layout method of each node; finally, the drawing stage is that the view finishes drawing itself on the screen by calling the draw method. The above process may be re-performed when a user interface change occurs, such as a screen rotation or a view visibility change, etc.
The drawing stage mainly comprises drawing of view background, self-defined drawing content and all sub-views thereof, and specifically comprises the following steps: and drawing a background drawback, calling an onDraw method, if the view is a ViewGroup, calling a dispatchDraw method to traverse all sub-views drawn in the view, and finally calling a drawForeground method to draw a foreground at the uppermost layer according to the requirement.
The implementation process of the onDraw method is closely related to the rendering process of the view. When a view needs to be redrawn, such as adding the view to a window or updating the view content, the system will call the onDraw method of the current view, which is used to draw the content of the view itself, which can be drawn according to the imported Canvas object parameters. The method for realizing the onDraw method comprises the following steps: when a view is added to a window or view content is updated, the system will call an invalid method to mark the view as needing to be redrawn; in the next drawing period, the system calls a draw method of the view tree to redraw the whole view tree; the draw method calls onDraw, dispatchDraw and ondraw scrollbars methods sequentially to complete the actual drawing work, the dispatchDraw method is used to draw child views of the view, and the ondraw scrollbars method is used to draw scroll bars. Among them, canvas provides a number of drawing methods including drawing circles, rectangles, paths, text, bitmaps, etc.
The invention provides a view display integrity verification and restoration method based on rendering process tracking, which has the following core ideas: starting an application to be tested to calibrate a target view and a target window in a fixed window size mode, recording the size of the target window as a first window size, and recording the sequence and parameters of API calls related to rendering of the target view as a first API call list; starting an application to be tested in a free scaling mode, adjusting the size of a target window to be the size of a first window, and recording the sequence and parameters of API calls related to rendering of the target view as a second API call list; and analyzing and comparing whether the first API call list and the second API call list are different, determining whether the target view is displayed completely after the window is freely scaled according to analysis and comparison results, and determining a repairing mode.
The invention provides a view display integrity verification and restoration method based on rendering process tracking, which specifically comprises the following steps:
step 1, determining a to-be-measured view in an to-be-measured application as a target view, starting an android running environment in a fixed window size mode, starting the to-be-measured application in the android running environment, taking a window containing the target view in the to-be-measured application as a target window, recording the size of the target window as a first window size, simultaneously recording the sequence and parameters of rendering related API calls of the target view in the starting process of the to-be-measured application, and storing the recording result as a first API call list.
And 2, starting an android running environment in a free scaling mode, starting an application to be tested in the android running environment, adjusting the size of the target window to be the first window size, recording the sequence and parameters of rendering related API calls of the target view, and storing the recording result as a second API call list.
And 3, respectively calculating total drawing areas corresponding to the first API call list and the second API call list, respectively marking the total drawing areas as the first total drawing area and the second total drawing area, executing the step 4 if the area with the difference between the first total drawing area and the second total drawing area is larger than a threshold value, otherwise executing the step 5.
And 4, analyzing difference information of the first total drawing area and the second total drawing area in height and width, generating error prompt according to the difference information, determining parameters of the latest layout mode according to the difference information and parameters of an onDraw method or an onDrawFrame method recorded in the first API call list or the second API call list, setting the layout mode of the target view as the latest layout mode, and executing the step 2. The latest layout mode is initially empty, and the content of the latest layout mode is a parameter of the layout mode.
Wherein the total drawing area is the union of all drawing areas.
Step 5, if the value of the latest layout mode is empty, comparing the API calls in the first API call list and the second API call list one by one, and obtaining difference information of all the differential API calls, including whether the API calls exist in the first API call list or the second API call list, and whether parameters of the same API call in the first API call list and the second API call list are the same, and generating an error prompt according to the difference information; if the latest layout mode and the parameter values are not null, the latest layout mode and the parameter values are used as the repair parameters of the target view, and the repair parameters are used as the newly added view layout attribute when the application to be tested is restarted, so that the repair of the application to be tested is completed.
The repairing process can be realized by modifying the android system or modifying the related configuration file of the application to be tested. The application to be tested repaired by adopting the mode can be laid out by adopting the newly added view layout attribute when the target view is created or refreshed when the application to be tested is restarted.
There are two main view rendering modes in the existing android system: one is to call a drawing interface provided by an android system for rendering in an onDraw method, and the other is to call a 3D interface for rendering by an application in an onDraw frame method, and the view aimed at by the application is generally inherited from a GLSurfaceView class instead of a Canvas class. The drawing interface is mainly provided by Canvas classes, and the 3D interface is such as OpenGL ES, vulkan and the like.
Recording a rendering process of a target view in a starting process of an application to be tested, comprising the following steps:
and 1.1, recording an application window of the application to be tested, which contains the target view, as a target window, and bypassing rendering operations of all views except the target view in the target window so as to ensure that only the rendering process of the target view is recorded.
The specific process is as follows: traversing all views in a target window, judging whether the views reload an onDraw method or an onDraw frame method by a Java-based reflection mechanism, if not reloading, modifying the onDraw method of a View class and the onDraw frame method of a GLSurfaceView class provided by an android system, adding a View ID to judge whether the views are target views, skipping the subsequent steps of the onDraw method or the onDraw frame method for views of non-target views, and normally executing the subsequent steps of the onDraw method or the onDraw frame method for the target views; if the onDraw method or the onDraw frame method is overloaded, the onDraw method or the onDraw frame method of the current view of the Hook is executed in the Hook function according to the reflection mechanism: the subsequent steps of the onDraw method or the onDraw frame method are skipped for views other than the target view, and are normally performed for the target view.
Step 1.2, if the target view inherits from the GLSurfaceView class, recording the sequence and parameters of OpenGL ES or Vulkan related API calls in the process of one onDrawFrame method call, and storing the recording result as a first API call list; otherwise, recording the sequence and parameters of the Canvas related API call in the process of one onDraw method call, and storing the recording result as a first API call list. Wherein each record in the first API call list is complete information of the API call.
In order to further improve the sequence of API calls and the recording efficiency of parameters, when the API calls are recorded, firstly, a drawing area in a target view related to the current API call is obtained, whether an overlay relationship exists between the drawing area in the target view related to the current API call and the drawing area related to the recorded API call in a current first API call list is judged, and when the drawing area covers the drawing area related to the recorded API call in the current first API call list, the API call corresponding to the drawing area is deleted from the current first API call list.
Specifically, for the gldragwelements method of OpenGL ES, whether the existing drawing area is covered can be determined by checking the primitive area such as rectangle drawn by the gldragwelements method; for the Canvas's drawRect method, it can be quickly judged whether the existing drawing area is covered by comparing the rectangular coordinates drawn by the Canvas.
In addition, in order to further improve the analysis efficiency and the reliability of the analysis result, when judging whether the two drawing areas have a coverage relationship, the following simplified processing is performed on the premise of ensuring the correctness: if the current API call is a drawRoundRect call, and a drawing area corresponding to the drawRoundRect call is a rounded rectangle, simplifying the rounded rectangle corresponding to the drawRoundRect call into a maximum inner package rectangle, and comparing the maximum inner package rectangle serving as the drawing area with a drawing area related to the recorded API call in the current first API call list, so that the area of a comparison analysis area is reduced, the analysis efficiency is improved, and meanwhile, the reduction of the area of the analysis area can also ensure that the API call corresponding to the uncovered area cannot be deleted by mistake to the greatest extent, so that the reliability of an analysis result is improved; if the recorded API call in the current first API call list is a drawRoundRect call, simplifying a round corner rectangle corresponding to the drawRoundRect call into a minimum outsourcing rectangle, and comparing the minimum outsourcing rectangle serving as a drawing area with the drawing area related to the current API call, wherein the processing increases the area of a comparison analysis area but effectively avoids deleting the API call corresponding to the uncovered area by mistake, so that the reliability of an analysis result is improved.
Examples
The view display integrity verification and restoration method based on rendering process tracking provided by the embodiment of the invention realizes the judgment of the display integrity of a single view in an android application after free scaling, and specifically comprises the following steps:
s1, marking the ID of the View object to be analyzed as the View ID, wherein the View object is targetView.
S2, setting an android running environment to be in a Fixed Size mode, recording the Size of a window containing targetView as a window Size, bypassing the rendering operation of all other View objects with IDs not equal to the View ID in a target window, starting an application to be tested, recording the rendering process of the targetView under the window Size, and storing a recording result as a first API call list, wherein the specific steps are as follows:
s2.1, bypassing the rendering operation of all other View objects with the IDs not equal to the View ID in the target window so as to realize the rendering process of only recording the targetView.
The rendering operation of all other View objects with ID not equal to the View ID in the bypass target window is as follows:
acquiring all View objects in a target window, traversing all View objects, judging whether the View objects reload an onDraw method or an onDraw frame method based on a Java reflection mechanism, if not reloading, modifying the onDraw method of a View class and the onDraw frame method of a GLSurfaceView class, for non-targetView, skipping the reloaded onDraw method or the reloaded onDraw frame method, and for targetView, executing the reloaded onDraw method or the reloaded onDraw frame method; otherwise, the onDraw method or the onDraw frame method of the View object is executed in the Hook function through a reflection mechanism Hook, the onDraw method or the onDraw frame method after the reload is skipped for the non-targetView, and the onDraw method or the onDraw frame method after the reload is executed for the targetView.
S2.2, setting the android running environment to be in a Fixed Size mode, starting an application to be tested with a Fixed window Size, and recording a rendering process: if the View object inherits from the GLSurfaceView class, recording the sequence and parameters of OpenGL ES or Vulkan related API calls in the process of one onDrawFrame method call; if the onDraw method exists in the View object, recording the sequence and parameters of the Canvas related API call in the process of calling the onDraw method.
S3, starting an android running environment in a free scaling mode, stretching the size of a window containing targetView to be a window size, bypassing rendering operations of all other View objects with IDs not equal to the View ID in the target window, starting an application to be tested, recording the rendering process of the targetView under the window size, and storing a recording result as a second API call list.
S4, comparing the first API call list with the second API call list, respectively calculating total drawing areas of the two call lists, judging whether the ratio of the difference areas of the two call lists exceeds 5%, executing S5 if the ratio exceeds the ratio, otherwise executing S6.
S5, judging whether the height or the width is different or whether the height and the width are different, generating an error prompt according to the difference information, if the error prompt is that the View is not suitable for free scaling due to the fact that the error exists in the layout modes of the height or the width or the height and the width, if the onDraw method is used for explaining that the View is inherited from the standard View class, automatically adjusting the layout mode of the width or the height of the View through MATCH_part or WRAP_CONTIENT parameters of the adjusted View, storing the current layout mode as the latest layout mode, and then executing S3, and repeating the process until the difference is smaller than the threshold value. Specifically, the ratio of the difference area to the target view area may be employed as a threshold, for example, a threshold of 5%.
S6, if the latest layout mode is not empty, setting the layout mode of the target view in the application to be tested through the android system, namely starting the latest layout mode when the view is created or is related; if the latest layout mode is empty, comparing the first API call list with the second API call list one by one, determining the differential API call and specific differential information, and generating error prompts according to the differential information, wherein the error prompts are 'the differential specific OpenGL ES/Vulkan or Canvas API call and parameters thereof'.
The difference can be found by comparing the rendering screenshot of the target view in the fixed window size mode and the free scaling mode, but the effect of positioning the API call causing the difference, which is achieved by the invention, cannot be realized.
In summary, the above embodiments are only preferred embodiments of the present invention, and are not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (8)

1. The view display integrity verification and restoration method based on rendering process tracking is characterized by comprising the following steps of:
step 1, determining a view to be tested in an application to be tested as a target view, starting an android running environment in a fixed window size mode, starting the application to be tested in the android running environment, taking a window containing the target view as a target window, marking the size of the target window as a first window size, and marking the sequence and parameters of rendering related API calls of the target view as a first API call list;
step 2, starting an android running environment in a free scaling mode, starting an application to be tested in the android running environment, adjusting the size of a target window to be a first window size, and recording the sequence and parameters of rendering related API calls of the target view as a second API call list;
step 3, marking the total drawing areas corresponding to the first API call list and the second API call list as a first total drawing area and a second total drawing area respectively, if the difference between the first total drawing area and the second total drawing area is larger than a threshold value, executing the step 4, otherwise executing the step 5;
step 4, determining the latest layout mode according to the difference and the parameters of the onDraw method or the onDrawFrame method recorded in the first API call list or the second API call list, setting the target view as the latest layout mode, and executing the step 2; the initial value of the latest layout mode is null;
step 5, if the latest layout mode is empty, comparing the API calls in the first API call list and the second API call list one by one, acquiring difference information of all the API calls with differences, and generating error prompts according to the difference information; if the latest layout mode is not empty, the latest layout mode is used as a repair parameter of the target view, and the repair parameter is used as a newly added view layout attribute when the application to be tested is restarted to finish repairing the application to be tested.
2. The view display integrity verification and repair method according to claim 1, wherein said step 4 further comprises: and analyzing the difference information of the first total drawing area and the second total drawing area in height and width, and generating error prompt according to the difference information.
3. The view display integrity verification and restoration method according to claim 1, wherein the difference information in step 5 includes: whether the API call exists in the first API call list or the second API call list and whether the parameters of the same API call in the first API call list and the second API call list are the same.
4. The view display integrity verification and repair method according to claim 1, wherein the order of rendering related API calls and parameters of the target view are obtained by:
bypassing rendering operations of all views in the target window other than the target view;
if the target view inherits from the GLSurfaceView class, recording the sequence and parameters of OpenGL ES or Vulkan related API calls in the process of one onDrawFrame method call, namely the sequence and parameters of rendering related API calls of the target view; otherwise, recording the sequence and parameters of the Canvas related API call in the process of one onDraw method call, namely the sequence and parameters of the rendering related API call of the target view.
5. The method for verifying and repairing the integrity of view display according to claim 4, wherein the rendering operation of all views except the target view in the bypass target window is as follows: traversing all views in a target window, judging whether the views reload an onDraw method or an onDraw frame method based on a Java reflection mechanism, if not reloading, adding the subsequent steps of skipping the onDraw method or the onDraw frame method for the views of non-target views in the onDraw method of the View class and the onDraw frame method of the GLSurfaceView class, and normally executing the subsequent steps of the onDraw method or the onDraw frame method for the target views; if the view is reloaded, according to the onDraw method or the onDraw frame method of the current view of the reflection mechanism Hook, the subsequent steps of the onDraw method or the onDraw frame method are skipped for the view of the non-target view in the Hook function, and the subsequent steps of the onDraw method or the onDraw frame method are normally executed for the target view.
6. The method for verifying and repairing the integrity of view display according to claim 5, wherein the non-target view is judged by: and judging according to the view ID.
7. The method for verifying and repairing the integrity of view display according to claim 4, wherein the order of the rendering-related API calls and the manner of obtaining the parameters of the target view further comprise:
when a drawing area in a target view related to a current API call covers a drawing area related to a recorded API call in a current first API call list, deleting the API call corresponding to the drawing area from the current first API call list.
8. The method for verifying and repairing view display integrity according to claim 7, wherein the determining that the drawing area in the target view related to the current API call covers the drawing area related to the recorded API call in the current first API call list comprises: if the current API call is a drawRoundRect call, reducing a rounded rectangle corresponding to the drawRoundRect call to a maximum inner package rectangle, and comparing the maximum inner package rectangle serving as a drawing area with a drawing area related to the recorded API call in the current first API call list; if the recorded API call in the current first API call list is a drawRoundRect call, simplifying a round corner rectangle corresponding to the drawRoundRect call into a minimum outsourcing rectangle, and comparing the minimum outsourcing rectangle serving as a drawing area with the drawing area related to the current API call.
CN202311362901.0A 2023-10-20 2023-10-20 View display integrity verification and repair method based on rendering process tracking Active CN117112118B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311362901.0A CN117112118B (en) 2023-10-20 2023-10-20 View display integrity verification and repair method based on rendering process tracking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311362901.0A CN117112118B (en) 2023-10-20 2023-10-20 View display integrity verification and repair method based on rendering process tracking

Publications (2)

Publication Number Publication Date
CN117112118A CN117112118A (en) 2023-11-24
CN117112118B true CN117112118B (en) 2023-12-26

Family

ID=88811278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311362901.0A Active CN117112118B (en) 2023-10-20 2023-10-20 View display integrity verification and repair method based on rendering process tracking

Country Status (1)

Country Link
CN (1) CN117112118B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117806765B (en) * 2024-03-01 2024-05-03 北京麟卓信息科技有限公司 Free scaling optimization method based on subdivision dynamic rearrangement

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543699A (en) * 2022-11-30 2022-12-30 北京麟卓信息科技有限公司 Application-transparent free scaling fault-tolerant method based on object snapshot
CN115562793A (en) * 2022-12-05 2023-01-03 北京麟卓信息科技有限公司 Cross-operation environment UI (user interface) quick rendering method based on mirror image operation
CN115599275A (en) * 2022-11-27 2023-01-13 北京麟卓信息科技有限公司(Cn) Implicit rendering-based textView free scaling method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272258B2 (en) * 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US20080215965A1 (en) * 2007-02-23 2008-09-04 Tabblo, Inc. Method for modifying an initial layout of story elements in a user-generated online story
US20200019583A1 (en) * 2018-07-11 2020-01-16 University Of Southern California Systems and methods for automated repair of webpages

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599275A (en) * 2022-11-27 2023-01-13 北京麟卓信息科技有限公司(Cn) Implicit rendering-based textView free scaling method
CN115543699A (en) * 2022-11-30 2022-12-30 北京麟卓信息科技有限公司 Application-transparent free scaling fault-tolerant method based on object snapshot
CN115562793A (en) * 2022-12-05 2023-01-03 北京麟卓信息科技有限公司 Cross-operation environment UI (user interface) quick rendering method based on mirror image operation

Also Published As

Publication number Publication date
CN117112118A (en) 2023-11-24

Similar Documents

Publication Publication Date Title
US11561887B2 (en) Test script debugging using an automated testing framework and UI rendering tree
US8799875B2 (en) Streamlining unit testing through hot code swapping
US20240231420A1 (en) Systems, methods and computer readable medium for visual software development quality assurance
US9459994B2 (en) Mobile application testing systems and methods
US7644368B2 (en) System and method for regression tests of user interfaces
CN112199093B (en) Resource checking method, device, equipment and computer readable storage medium
CN117112118B (en) View display integrity verification and repair method based on rendering process tracking
CN110841293B (en) Method and system for automatically and dynamically outputting game mapping fit degree
CN113076717B (en) Data automatic association method, device and electronic equipment
CN110865812A (en) User interface identification method and device
CN112732587A (en) Method and device for acquiring automatic test log, electronic equipment and storage medium
CN113076257B (en) Test script recording method, device, medium and computer equipment
CN110908899A (en) Application program debugging method, mobile terminal and computer readable storage medium
CN114218072A (en) Test script generation method and device, storage medium and computer equipment
CN111651368B (en) A kind of user graphical interface testing method and computer readable storage medium
CN105335288B (en) The localization method and device of Mobile solution page object
CN104809053A (en) Control style testing method and device
CN116931933B (en) Automatic judging method for application adaptive free scaling
CN111611032B (en) User interface drawing level and excessive drawing detection method and device
CN118069949B (en) Dynamic layout method and system based on component tree architecture
CN104516819B (en) The method of testing and device of the interface state change time of software
US20160209989A1 (en) Record and replay of operations on graphical objects
JP5041986B2 (en) Component division support device, method and program thereof
CN109086108A (en) A kind of method and system of interface layout rationality checking
CN117707912A (en) Interface display defect detection method, display method, device and equipment

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