A view liveness detection method and system based on an Android system
Patent Information
- Application Number
- CN202610949679.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-29
- Publication Date
- 2026-09-04
AI Technical Summary
[0005]因此,本发明提供了一种基于Android系统的视图存活性检测方法解决工业应用开发引擎中视图视觉断开后引用残留难以链位定位的问题
[0016] The beneficial effects of this invention are as follows: by screening the asynchronous attachment traces through the object identity value and node path in the abnormal survival node record, and by calling back the asynchronous attachment entry in the industrial application development engine, the holding entry, callback position and trigger page are closed into an asynchronous holding source path, realizing the holding source chain positioning of the abnormal survival object, which facilitates the synchronous presentation of visual breakpoints and reference sources in the debugging overlay, and improves the traceability and troubleshooting efficiency of the view survival detection results.
Smart Images

Figure CN122691702A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of view liveness detection technology, and in particular to a view liveness detection method and system based on the Android system. Background Technology
[0002] With the increasing prevalence of Android applications in industrial control, equipment inspection, production debugging, and visualized operation and maintenance scenarios, industrial application development engines typically need to carry multiple layers of view objects, asynchronous callbacks, page routing, and runtime debugging information within the same business interface. Related development and debugging techniques often employ methods such as view tree traversal, window attachment status query, lifecycle callback listening, and drawing status observation to obtain the state of interface nodes. Furthermore, they assist developers in confirming whether view objects are in a visible, attached, refreshed, and interactive state through means such as identifier binding, hierarchical path recording, and debugging overlay prompts. This provides runtime evidence for page refresh, component reuse, and abnormal interface troubleshooting in complex industrial applications.
[0003] In the existing view debugging process, the common practice is to determine whether the view object is still in a valid state by focusing on a single view tree hierarchy or a single lifecycle callback. When the current Android application window in the industrial application development engine experiences page switching, delayed asynchronous callback triggering, unreleased listening relationships, or reuse of view objects, the visual rendering link has been broken, but the reference relationship may still continue. Single-level traversal is difficult to align the page lifecycle evidence, window attachment evidence, visual rendering evidence, and reference continuation evidence to the same object identity value. This can easily cause the abnormal survival position to only remain at the level of interface phenomena, making it difficult to further trace the source link between the holding entry point, callback position, and triggering page. Summary of the Invention
[0004] In view of the aforementioned existing problems, the present invention is proposed.
[0005] Therefore, this invention provides a view liveness detection method based on the Android system to solve the problem of difficulty in locating the link position of reference residues after the view is visually disconnected in industrial application development engines.
[0006] To solve the above-mentioned technical problems, the present invention provides the following technical solution: In a first aspect, the present invention provides a view liveness detection method based on the Android system, comprising: locking the detection sampling domain of the current business interface according to the page running state and window attachment relationship of the current Android application window in the industrial application development engine, forming a detection sampling domain, and locating the baseline view node of the view object in the detection sampling domain, while binding the object identity value and node path to generate a target view node baseline record; extracting the baseline view node based on the target view node baseline record, combining page lifecycle evidence, window attachment evidence, visual drawing evidence, and reference continuation evidence with the object identity value for co-position fusion, and pre-marking evidence breakpoints at liveness conflict locations to generate a cross-layer view liveness evidence sheet; and performing evidence analysis on the baseline view node according to the evidence breakpoint markings in the cross-layer view liveness evidence sheet. The process involves several steps: First, breakage tracing is performed to obtain evidence breakage tracing nodes. Based on the reference continuation state and visual disconnection state within these nodes, abnormal survival is locked, generating abnormal survival node records. Second, based on the object identity value and node path in these records, asynchronous attachment traces are screened and asynchronous attachment entry callbacks are performed on the abnormal survival objects, generating asynchronous holding entry records. Third, according to the holding entry in these records, the triggering page, callback location, and abnormal survival object are connected in a traceable path based on the callback relationship, generating asynchronous holding source paths. Finally, based on the node paths in the abnormal survival node records, survival anomaly chaining is performed on cross-layer view survival evidence and asynchronous holding source paths, generating abnormal survival detection entries. These entries are then debugged and encapsulated using a floating layer mapping to generate view survival detection results.
[0007] In a preferred embodiment of the view liveness detection method based on the Android system described in this invention, the formation of the detection sampling domain is specifically as follows: Based on the current page running state and window attachment relationship of the Android application window in the industrial application development engine, the interface attachment positioning elements of the current business interface are collected into a window attachment chain to form a window attachment chain collection record. Based on the window attachment chain positions in the window attachment chain collection record, the start and end boundaries of the window attachment chain are marked, and the parent-child hierarchical inheritance relationship is continued downward from the root view bearing position in the window attachment chain position to form the detection sampling domain.
[0008] As a preferred embodiment of the view liveness detection method based on the Android system described in this invention, the generation of the target view node baseline record is specifically as follows: Based on the sampling domain boundary in the detection sampling domain, the view objects within the sampling domain boundary coverage area are ordered and positioned, and the view objects with valid drawable state and continuous parent-level hanging relationship are written to generate a base view node set. Extract the corresponding view instance identifier, page instance identifier, and business interface location from the base view node set, merge the fields, synthesize them into an object identity value, and perform node path postback based on the object identity value. Bind the object identity value, node path, and base view node to the same node record location to generate a node identity binding table. Based on the object identity value and node path in the node identity binding table, the sampling domain back-up verification and target benchmark splitting and solidification are performed on the node identity binding table. The object identity value, node path and benchmark view node are encapsulated in the order of node path to generate the target view node benchmark record.
[0009] As a preferred embodiment of the view liveness detection method based on the Android system described in this invention, the step of performing same-position fusion is as follows: Extract the baseline view node, object identity value, and node path from the baseline record of the target view node. Lock the cross-layer evidence entry corresponding to the baseline view node according to the object identity value. Based on the node path, reattach the evidence entry at the collection location of cross-layer surviving evidence to generate the baseline view node to be fused. Based on the object identity value and node path in the benchmark view node to be merged, the receipt status in the cross-layer evidence collection chain is diverted and the receipt record is placed, and the receipt content is placed in the corresponding node evidence position. The difference content to be merged is attached to the difference chain position under the same object identity value to generate a cross-layer survival receipt chain. Based on the object identity value, node path, and difference chain position in the cross-layer survival receipt chain, the node evidence position of the cross-layer survival receipt chain is solidified and the survival conflict is transposed, and corresponding to the node name under the same baseline view to form a co-position fusion evidence table.
[0010] As a preferred embodiment of the view liveness detection method based on the Android system described in this invention, the generation of cross-layer view liveness evidence is specifically as follows: The survival status of the survival conflict location is verified to form a breakpoint trigger state. Based on the breakpoint trigger state, the location where the survival link is broken but the reference is still retained is written into the breakpoint location to be pre-labeled. The location with only the collection time delay is pasted back to the co-location fusion evidence table to form a list of breakpoints to be pre-labeled. The pre-marked breakpoint list is used to pre-mark evidence breakpoints, forming evidence breakpoint markers. Based on the object identity value, the evidence breakpoint markers are referenced back to the baseline view node. At the same time, the same-position fusion evidence table is connected to generate a cross-layer view survival evidence sheet.
[0011] As a preferred embodiment of the view liveness detection method based on the Android system described in this invention, the generation of abnormal live node records is specifically as follows: Perform object path reattachment and breakpoint chain arrangement on the evidence breakpoint markers in the cross-layer view survival evidence sheet, and isolate the evidence breakpoint markers with object identity value deviation and node path break outside the tracking chain, generating a set of breakpoint nodes to be tracked; Based on the set of breakpoint nodes to be tracked, the page lifecycle evidence bits, window attachment evidence bits, and visual drawing evidence bits are reconnected from the node path, and the reference continuation evidence bits are attached simultaneously to form an evidence reconnection chain. The break point of the evidence reconnection chain is locked to obtain the evidence break tracking node. The evidence breakage tracking nodes are subjected to visual reverse verification of citation, and the evidence breakage tracking nodes that retain the citation continuation state and the visual disconnection state are locked for abnormal survival. At the same time, the evidence breakage tracking nodes that have not formed a visual reverse citation relationship are excluded, and abnormal survival candidate nodes are generated. Based on the object identity value and node path, abnormal evidence is solidified in the same position for abnormal survival candidate nodes, and the evidence breakpoint mark, reference continuation status and visual disconnection status corresponding to the abnormal survival candidate nodes are associated with the same node record position to generate abnormal survival node records.
[0012] As a preferred embodiment of the view liveness detection method based on the Android system described in this invention, the generation of asynchronous holding entry records is specifically as follows: Based on the object identity value and node path in the abnormal live node record, the asynchronous holding relationship corresponding to the abnormal live object is screened for attachment traces. Asynchronous holding relationships that continuously point to the same object identity value and can be reattached to the abnormal live object are marked as valid attachment traces. Asynchronous holding relationships that have been released, whose object identity value has deviated, and whose node path reattachment has been interrupted are removed from the callback range and generated attachment traces to be callbacked. Extract the connection relationship between asynchronous connection links from the pending callback connection traces, locate the source link of the abnormally alive object that is continuously held, form a holding entry candidate record, and review the release status of the holding entry candidate record. Solidify the source link that has not been released and maintains the reference continuation state as the holding entry, and generate an asynchronous holding entry record.
[0013] As a preferred embodiment of the view liveness detection method based on the Android system described in this invention, the generation of the asynchronous holding source path is specifically as follows: The trigger source is located in the asynchronous holding entry record to form a trigger source location record. Based on the trigger source location record, the page route record, business component location record and callback registration record are retrieved to write the registration acceptance chain position and generate the holding back pointer chain position. Based on the holding back pointer chain, the continuous back pointer status between the trigger page, callback position, holding entry and abnormal live object is verified to form asynchronous holding candidate paths. Back pointer breakpoints are excluded according to the relationship that the object identity value is consistent, the holding entry is not released and the callback position can continue the trigger page, and continuous holding back pointer paths are generated. Based on the continuous holding back pointer path, the continuous holding back pointer path is closed by asynchronous holding source tracing to form a traceable path. The traceable path arranges the holding source chain elements along the back pointer direction from the trigger page to the abnormal live object, and pastes the object identity value and node path back to the same holding source record position to generate the asynchronous holding source path.
[0014] As a preferred embodiment of the view liveness detection method based on the Android system described in this invention, the generation of view liveness detection results is specifically as follows: Based on the node path in the abnormal survival node record, extract the node evidence position corresponding to the evidence breakpoint marker from the cross-layer view survival evidence sheet, and attach the holding entry, callback position and trigger page in the asynchronous holding source path back to the node evidence position along the object identity value. Close the abnormal chain position for content that can simultaneously correspond to the same node path and the same object identity value, and generate abnormal survival detection entries. Perform object holding back calibration on abnormal survival detection entries, and retain the content that can point back to the same abnormal survival object along the object identity value and can continue the evidence breakpoint mark at the corresponding position along the node path in the same detection entry position, and remove the content that points back to the abnormal survival object, breaks the node path and cannot point to the abnormal survival object from the detection entry range to form a detection entry to be mapped. The floating layer chain bit mapping of the target detection item is debugged, and the floating layer display calibration is performed according to the hierarchical order of the node path in the detection sampling domain to generate the floating layer mapping detection item. The detection results of the floating layer mapping detection entries are encapsulated, and the node path, object identity value, abnormal chain closure content and floating layer display chain are mapped to the same detection record position to generate view liveness detection results.
[0015] Secondly, the present invention provides a view liveness detection system based on the Android system, comprising: The baseline view module is used to lock the detection sampling domain of the current business interface based on the page running state and window attachment relationship of the current Android application window in the industrial application development engine, form a detection sampling domain, locate the baseline view node of the view object in the detection sampling domain, bind the object identity value and node path, and generate the target view node baseline record. The cross-layer evidence fusion module is used to extract the baseline view node based on the baseline record of the target view node, combine the page life cycle evidence, window attachment evidence, visual drawing evidence and reference continuation evidence with the object identity value for same-position fusion, and pre-mark the evidence breakpoints at the survival conflict positions to generate a cross-layer view survival evidence sheet. The fracture tracking and locking module is used to track the evidence fracture of the baseline view node based on the evidence breakpoint marker in the cross-layer view survival evidence sheet, obtain the evidence fracture tracking node, and lock the abnormal survival of the evidence fracture tracking node based on the reference continuation status and visual disconnection status in the evidence fracture tracking node, and generate an abnormal survival node record. The asynchronous holding back module is used to screen the asynchronous attachment traces and callback the asynchronous attachment entry for abnormal live objects based on the object identity value and node path in the abnormal live object record, generate the asynchronous holding entry record, and connect the trigger page, callback position and abnormal live object into a traceable path according to the holding entry in the asynchronous holding entry record, thereby generating the asynchronous holding source path. The floating layer result mapping module is used to perform liveness anomaly chaining on cross-layer view liveness evidence sheets and asynchronous holding source paths based on the node paths in the abnormal liveness node records, generate abnormal liveness detection entries, debug floating layer mapping and encapsulate the abnormal liveness detection entries, and generate view liveness detection results.
[0016] The beneficial effects of this invention are as follows: by screening the asynchronous attachment traces through the object identity value and node path in the abnormal survival node record, and by calling back the asynchronous attachment entry in the industrial application development engine, the holding entry, callback position and trigger page are closed into an asynchronous holding source path, realizing the holding source chain positioning of the abnormal survival object, which facilitates the synchronous presentation of visual breakpoints and reference sources in the debugging overlay, and improves the traceability and troubleshooting efficiency of the view survival detection results. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a flowchart of a view liveness detection method based on the Android system.
[0019] Figure 2 This is a schematic diagram of a view liveness detection system based on the Android system.
[0020] Figure 3This is a flowchart for tracing the source of abnormal holding.
[0021] Figure 4 A flowchart for generating view liveness detection results. Detailed Implementation
[0022] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0023] Many specific details are set forth in the following description in order to provide a full understanding of the invention. However, the invention may also be practiced in other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of the invention. Therefore, the invention is not limited to the specific embodiments disclosed below.
[0024] Secondly, the term "one embodiment" or "embodiment" as used herein refers to a specific feature, structure, or characteristic that may be included in at least one implementation of the present invention. The phrase "in one embodiment" appearing in different places in this specification does not necessarily refer to the same embodiment, nor is it a single or selective embodiment that is mutually exclusive with other embodiments.
[0025] Reference Figures 1-4 This is one embodiment of the present invention, which provides a view liveness detection method based on the Android system, including the following steps: S1: Based on the current Android application window's page running state and window attachment relationship in the industrial application development engine, the current business interface is locked to form a detection sampling domain. The view objects in the detection sampling domain are located as reference view nodes, and the object identity value and node path are bound to generate a target view node reference record.
[0026] S1.1: Based on the current Android application window's page running state and window attachment relationship in the industrial application development engine, the interface attachment positioning elements of the current business interface are collected into a window attachment chain, forming a window attachment chain collection record.
[0027] Furthermore, in the industrial application development engine, the current Android application window's page running state and window attachment relationship are used to limit the interface attachment positioning elements of the current business interface. The interface attachment positioning elements are collected into the window attachment chain according to the page instance identifier, window identifier, and root view carrying position. The page running state corresponds to the foreground display, the window attachment relationship corresponds to the effective attachment, and the root view carrying position corresponds to the current business interface. The interface attachment positioning elements whose page instance identifier deviates from the current business interface, whose window identifier is removed from the current Android application window, and whose root view carrying position loses its attachment relationship are removed from the window attachment chain position.
[0028] The collection of window attachment chains revolves around the continuous acceptance status of the window attachment chain positions. It verifies whether the page running status, window attachment relationship, and root view bearing position remain the same as the current business interface within adjacent collection times. Chain positions whose short-term jitter does not exceed the window attachment stability threshold remain in the same window attachment chain. Chain positions that exceed the window attachment stability threshold and cannot continue to correspond to the current business interface are removed from the window attachment chain collection range. The retained window attachment chain positions are written in the order of collection time and root view bearing position to form a window attachment chain collection record.
[0029] It should be noted that the window attachment stability threshold (example range: 0.05 to 0.15) is set based on the page running status jitter, the degree of instantaneous discontinuity of the window attachment relationship, and the degree of offset of the root view bearing position. The higher the value is taken when short-term fluctuations are more likely to cause misjudgment of the current business interface.
[0030] Interface attachment positioning elements are positioning information used to determine the page affiliation, window affiliation, and root view placement of the current business interface.
[0031] S1.2: Based on the window attachment chain position in the window attachment chain collection record, mark the start and end boundaries of the window attachment chain, and continue the parent-child hierarchical inheritance relationship downward from the root view bearing position in the window attachment chain position to form the detection sampling domain.
[0032] The parent-child hierarchy refers to the hierarchical relationship between the root view, parent view, and child view in the current business interface, which is linked level by level according to the Android view tree. It is used to confirm whether a view object can be traced continuously from the root view to the corresponding parent view.
[0033] Furthermore, the window attachment chain positions in the window attachment chain collection record are expanded according to the collection time. The chain position that is still in the foreground display state of the page running state is marked as the sampling start boundary. The chain position that is broken when the window attachment relationship is broken, when the page running state is switched to non-foreground display, or when the root view load position stops corresponding to the current business interface is marked as the sampling end boundary, thus completing the marking of the start and end boundaries of the window attachment chain.
[0034] The root view's location serves as the starting point for the parent-child hierarchical relationship. The attachment status and hierarchical order of view objects are checked layer by layer from the parent view to the child view in the current business interface. The range of views that can be continuously connected from the root view's location to the sampling termination boundary is included in the detection sampling domain. The range of views that are missing parent views, have broken hierarchical order, or exceed the sampling termination boundary are isolated outside the detection sampling domain, thus forming the detection sampling domain.
[0035] S1.3: Based on the sampling domain boundary in the detection sampling domain, the view objects within the sampling domain boundary coverage area are ordered and positioned, and view objects with valid drawable state and continuous parent-level hanging relationship are written to generate a base view node set.
[0036] Furthermore, the sampling domain boundary in the detection sampling domain is jointly defined by the sampling start boundary, the sampling end boundary, and the parent-child hierarchical relationship that is continuously connected downwards from the root view bearing position. It is located between the sampling start boundary and the sampling end boundary, and view objects that can be hung back layer by layer from the root view bearing position enter the node order placement range. The node order is configured for view objects according to the hierarchical order from parent view to child view. View objects with missing parent views, broken hierarchical order, or that exceed the sampling end boundary do not enter the node order placement range.
[0037] After the node order is completed, the drawable state and parent hanging relationship of the view object are checked around each node order. View objects with valid drawable state and parent hanging relationship that can be continuously connected to the root view carrying position are written into the base view node set; view objects with invalid drawable state, interrupted parent hanging relationship, or node order that cannot correspond to the detection sampling domain are removed from the base view node set. The remaining view objects are arranged according to node order to generate the base view node set.
[0038] It should be noted that the sampling domain boundary coverage range refers to the range of view objects that can be continuously attached from the root view's carrying position along the parent-child hierarchical relationship, from the sampling start boundary to the sampling end boundary.
[0039] S1.4: Extract the corresponding view instance identifier, page instance identifier, and business interface location from the base view node set, merge the fields, synthesize them into an object identity value, and perform node path pasting based on the object identity value. Bind the object identity value, node path, and base view node to the same node record location to generate a node identity binding table.
[0040] Furthermore, the set of baseline view nodes is expanded according to node order, and the view instance identifier, page instance identifier, and business interface position corresponding to each baseline view node are extracted. The view instance identifier is used to represent the view object itself, the page instance identifier is used to represent the page belonging of the current business interface, and the business interface position is used to represent the interface placement of the baseline view node in the detection sampling domain. When merging fields, the three fields are arranged in the order of view object itself, page belonging, and interface placement. Content with missing fields and deviations from page belonging is excluded from the scope of object identity value formation, and content with complete fields that can correspond to the same baseline view node is synthesized into object identity value.
[0041] When performing node path re-attachment based on object identity value, starting from the root view carrying position in the detection sampling domain, the system locates the base view node corresponding to the object identity value layer by layer along the parent-child hierarchical relationship. The root view carrying position, parent view chain position, and base view node chain position are then concatenated to form the node path. After the node path is formed, it is checked whether the node path and the object identity value correspond to the same base view node. If they correspond, the object identity value, node path, and base view node are bound to the same node record position. If they do not correspond, they are not written to the node record position, and a node identity binding table is generated.
[0042] It should be noted that the view instance identifier is used to determine the specific view object body corresponding to the base view node, distinguishing between recreated, reused, and residual view objects.
[0043] Page instance identifiers are used to determine the current business interface page to which the baseline view node belongs, thus preventing view objects from different page instances from being mixed into the same detection range.
[0044] The business interface position is used to determine the interface location of the baseline view node in the detection sampling domain, indicating the specific hierarchical position of the view object in the current business interface.
[0045] S1.5: Based on the object identity value and node path in the node identity binding table, perform sampling domain back-up verification and target benchmark splitting and solidification on the node identity binding table, and encapsulate the object identity value, node path and benchmark view node in the order of node path to generate the target view node benchmark record.
[0046] Furthermore, the object identity value and node path are extracted from the node identity binding table. The sampling domain boundary and root view carrying position in the detection sampling domain are reconnected along the node path. The connection relationship between the reference view node corresponding to the object identity value and the detection sampling domain is verified. When the object identity value can correspond to the same reference view node, the node path can be continuously connected to the root view carrying position, and the reference view node falls within the boundary of the detection sampling domain, the node identity binding table is retained within the target reference split solidification range. The node identity binding table of node path disconnection, missing object identity value, and reference view node detached from the boundary of the detection sampling domain is moved out of the target reference split solidification range.
[0047] The target baseline routing and solidification revolves around the retained node identity binding table. The object identity value, node path, and baseline view node are arranged in hierarchical order from the root view carrying position to the baseline view node. The object identity value and node path corresponding to the same baseline view node are fixed to the same target record position. The arranged target record position continues to check the consistency between the node path order and the baseline view node placement relationship. The consistent content is encapsulated as the target view node baseline record.
[0048] It should be noted that the target view node baseline record is a reference record formed by binding the baseline view node within the detection sampling domain, which can be used as a baseline for survival detection, with the object identity value and node path.
[0049] The target baseline diversion solidification range refers to the range of node identity binding tables that can maintain the consistent correspondence between object identity values, node paths, and baseline view nodes through sampling domain back-up verification.
[0050] S2: Extract the baseline view node based on the baseline record of the target view node, combine the page lifecycle evidence, window attachment evidence, visual drawing evidence and reference continuation evidence with the object identity value for same-position fusion, and pre-mark the evidence breakpoints at the survival conflict positions to generate a cross-layer view survival evidence sheet.
[0051] S2.1: Extract the baseline view node, object identity value and node path from the baseline record of the target view node, lock the cross-layer evidence entry corresponding to the baseline view node according to the object identity value, and according to the node path, reattach the evidence entry to the collection location of the cross-layer surviving evidence to generate the baseline view node to be fused.
[0052] Cross-layer liveness evidence is a set of evidence used to jointly determine whether a baseline view node is still truly alive from four levels: page lifecycle, window attachment, visual rendering, and reference continuation.
[0053] Furthermore, the reference continuation evidence originates from asynchronous callback holding relationships, listener holding relationships, delayed task holding relationships, and container cache holding relationships formed during the current Android application window's operation. An evidence entry correspondence is established based on the object identity value and the baseline view node. When the reference continuation evidence enters the cross-layer evidence entry, the continuous state of the holding relationship still pointing to the same object identity value is checked, and the corresponding release record and cancellation record are checked simultaneously. Content where the holding relationship still points to the same object identity value and there is no corresponding release record or cancellation record is written into the reference continuation evidence bit. Content where the holding relationship has been released, canceled, expired, or the object identity value has deviated is not written into the reference continuation evidence bit.
[0054] The evidence entry backtracking revolves around the node path, locating from the root view carrying position in the detection sampling domain along the parent-child hierarchical inheritance relationship to the base view node, aligning the collection position of cross-layer survival evidence to the cross-layer evidence entry under the corresponding node path; the collection positions corresponding to page lifecycle evidence, window attachment evidence, visual drawing evidence, and reference continuation evidence are classified under the same base view node name according to the same object identity value. If the collection position cannot be backtracked to the base view node along the node path, it will not enter the fusion range and generate a base view node to be fused.
[0055] S2.2: Based on the object identity value and node path in the baseline view node to be merged, the receipt status in the cross-layer evidence collection chain is split and the receipt record is placed, and the corresponding receipt content is placed in the corresponding node evidence position. The difference content to be merged is attached to the difference chain position under the same object identity value to generate a cross-layer live receipt chain.
[0056] Furthermore, the object identity value and node path in the reference view node to be merged are used to limit the attribution of the receipt status. The cross-layer evidence collection chain position is first assigned to the corresponding reference view node name according to the object identity value, and then the correspondence between the receipt status and the node evidence position is checked along the node path. The receipt status with the same object identity value, the node path can be reattached, and the receipt collection time meets the fitting requirements is assigned to the same position receipt content. The receipt status with the object identity value deviates, the node path is broken, and the receipt collection time is misaligned is assigned to the difference content to be merged.
[0057] The receipt record is placed according to the content of the same position split. The content of the same position receipt is written into the corresponding node evidence position. The difference content to be merged is attached to the difference chain position under the same object identity value. The node evidence position and the difference chain position correspond to the same baseline view node, forming a cross-layer survival receipt chain.
[0058] The receipt matching threshold (example range: 0.05 to 0.15) is set based on the jitter amplitude of the receipt status, the stability of the node path reattachment, and the degree of acquisition time offset. The higher the value is when the acquisition time offset is more likely to cause misjudgment of the same position.
[0059] S2.3: Based on the object identity value, node path and difference chain position in the cross-layer survival receipt chain, solidify the node evidence position and transpose the survival conflict in the cross-layer survival receipt chain, and correspond them to the node name under the same baseline view to form a co-position fusion evidence table.
[0060] Furthermore, the cross-layer survival receipt chain is expanded according to the object identity value and node path. The node evidence bits are solidified around the corresponding receipt content. The receipt status of the same object identity value and the node path is continuously attached to the same reference view node and written into the corresponding node evidence bit. The node evidence bit synchronously retains the collection time and the source of the receipt status. The content in the difference chain bit that does not affect the continuity of the survival link continues to be attached to the same object identity value name.
[0061] The survival conflict transposition revolves around the difference chain position. Content in the difference chain position that deviates from the object identity value, is broken in the node path, or cannot be matched at the time of receipt collection is transferred to the survival conflict position. The corresponding reference view node is locked according to the object identity value, and the corresponding receipt content is written to the node evidence position along the node path. The difference content to be merged is written to the survival conflict position. The node evidence position and the survival conflict position fall into the evidence record position under the same reference view node name, forming the corresponding fusion evidence table.
[0062] S2.4: Verify the survival status of the survival conflict positions to form a breakpoint trigger state. Based on the breakpoint trigger state, write the positions where the survival link is broken but the reference is still retained into the breakpoint positions to be pre-labeled. Paste the positions where there is only a delay in the collection time back to the co-location fusion evidence table to form a list of breakpoints to be pre-labeled.
[0063] Furthermore, the survival status at the survival conflict location is reattached to the same baseline view node name according to the object identity value and node path, and survival acceptance verification is performed around the link correspondence between page lifecycle, window attachment, visual rendering and reference continuation; when any survival link in page lifecycle, window attachment and visual rendering has been broken, but reference continuation is still retained, the write-down is in the breakpoint triggered state; when the survival link can still be continued along the node path and there is only an offset in the receipt collection time, the write-down is in the delay difference state.
[0064] The breakpoint trigger status is used to distinguish between the breakpoint location to be pre-labeled and the delay difference location. The location corresponding to the breakpoint trigger status is written to the breakpoint location to be pre-labeled, and the location corresponding to the delay difference status is pasted back to the same position fusion evidence table. When pasting, it is checked whether the object identity value and node path still correspond to the same baseline view node, forming a list of breakpoints to be pre-labeled.
[0065] It should be noted that the receipt delay threshold (example range: 0.05 to 0.15) is set according to the degree of offset of receipt collection time and the stability of node path reattachment. The higher the value is when the offset of collection time is more likely to cause false breakpoint judgment.
[0066] The list of pre-marked breakpoints is a temporary record formed after the survival acceptance verification of survival conflict locations. It is used to store locations where the survival link has been broken but the reference is still retained, and further evidence breakpoint markings need to be written.
[0067] S2.5: Pre-mark evidence breakpoints on the list of breakpoints to be marked, form evidence breakpoint markers, and point back to the baseline view node based on the object identity value. At the same time, connect to the same-position fusion evidence table to generate a cross-layer view survival evidence sheet.
[0068] Furthermore, the list of pre-marked breakpoints is expanded according to the object identity value and node path. When pre-marking evidence breakpoints at the locations of the breakpoints to be pre-marked, the status of the live link disconnected and the status of the reference still being retained corresponding to the location of the breakpoint to be pre-marked are verified. The locations of the breakpoints to be pre-marked corresponding to both statuses are written into the evidence breakpoint marker. Locations that only have a delay in the acquisition time, can still be reattached to the node path, and whose object identity value can still correspond to the same reference view node are not written into the evidence breakpoint marker, but are retained in the co-location fusion evidence table.
[0069] Based on the object identity value, the evidence breakpoint marker is back-pointed to the baseline view node. The baseline view node corresponding to the evidence breakpoint marker is locked according to the object identity value, and the evidence breakpoint marker is pasted back to the node evidence position under the baseline view node name along the node path. The evidence breakpoint marker and the survival conflict position in the same position fused evidence table are linked together. The evidence breakpoint marker, object identity value, node path and node evidence position are mapped to the same evidence record position, generating a cross-layer view survival evidence sheet.
[0070] S3: Based on the evidence breakpoint markers in the cross-layer view survival evidence sheet, perform evidence breakage tracking on the baseline view node to obtain the evidence breakage tracking node, and lock the evidence breakage tracking node for abnormal survival based on the reference continuation status and visual disconnection status in the evidence breakage tracking node, generating an abnormal survival node record.
[0071] S3.1: Perform object path reattachment and breakpoint chain arrangement on the evidence breakpoint markers in the cross-layer view survival evidence sheet, and isolate the evidence breakpoint markers with object identity value deviation and node path break outside the tracking chain, generating a set of breakpoint nodes to be tracked.
[0072] In the cross-layer view survival evidence sheet, the evidence breakpoint markers are expanded according to the object identity value. The object identity value, node path, and node evidence position carried by the evidence breakpoint markers are extracted, and the object path is checked against the object identity value, node path, and reference view node in the target view node baseline record. Evidence breakpoint markers that can simultaneously meet the requirements of consistent object identity value, continuous node path reattachment, and node evidence position with the same node location are reattached to the same reference view node name. Evidence breakpoint markers that cannot meet the object path verification conditions are moved out of the object path reattachment range.
[0073] After the object path is reattached, the evidence breakpoint markers are arranged along the node path, and the tracking chain positions are arranged in the hierarchical order from the root view carrying position to the base view node. Evidence breakpoint markers that continuously correspond to the same object identity value and the same node path are written into the same tracking chain position. Evidence breakpoint markers that deviate from the object identity value and are broken in the node path are isolated outside the tracking chain position, generating a set of breakpoint nodes to be tracked.
[0074] S3.2: Based on the set of breakpoint nodes to be tracked, the page lifecycle evidence bits, window attachment evidence bits, and visual drawing evidence bits are reconnected from the node path, and the reference continuation evidence bits are attached simultaneously to form an evidence reconnection chain. The breakpoint of the evidence reconnection chain is locked to obtain the evidence break tracking node.
[0075] Furthermore, the set of breakpoint nodes to be tracked is expanded according to the tracking chain position. Using the object identity value and node path as the basis for reconnection, the page lifecycle evidence position, window attachment evidence position, and visual drawing evidence position are located from the node evidence positions corresponding to the base view node, and the three types of evidence positions are checked sequentially along the node path to see if they can be continuously connected to the same base view node. The reference continuation evidence position is synchronously attached to the tracking chain position according to the same object identity value. The position where the evidence position is continuously connected is written into the evidence reconnection chain. The content with missing evidence positions, deviation of object identity value, and broken node path is isolated outside the evidence reconnection chain.
[0076] The evidence reconnection chain verifies the break point segment by segment from the root view carrying position to the base view node according to the node path. When any of the following occurs simultaneously with the retention of the reference continuation evidence position, the page lifecycle evidence position fails, the window attachment evidence position is broken, or the visual drawing evidence position is missing, the corresponding tracking chain position is locked as the break point. The break point is associated with the object identity value, the node path, and the corresponding base view node to the same tracking node position to obtain the evidence break tracking node.
[0077] It should be noted that the page lifecycle evidence bit is used to record whether the page containing the baseline view node is still in a valid lifecycle state such as creation, visibility, or restoration.
[0078] The window attachment evidence bit is used to record the position of whether the baseline view node still maintains a valid attachment relationship through the current Android application window.
[0079] The visual drawing evidence bit is used to record whether the baseline view node is still involved in the current business interface drawing, display, and refresh process.
[0080] S3.3: Perform visual reverse verification of the evidence breakage tracking nodes, and lock the abnormal survival of evidence breakage tracking nodes that retain the reference continuation state and the visual disconnection state is established. At the same time, exclude evidence breakage tracking nodes that have not formed a visual reverse reference relationship and generate abnormal survival candidate nodes.
[0081] The evidence breakage tracking node is expanded according to the object identity value and node path. The reference continuation state and visual disconnection state are extracted from the same tracking node position. The reference continuation state is verified based on whether the reference continuation evidence bit still points to the abnormal live object. The visual disconnection state is verified based on at least one of the following situations: page life cycle evidence bit failure, window attachment evidence bit disconnection, and visual drawing evidence bit missing. When the object identity value is consistent and the node path can still correspond to the same base view node, the reference continuation state and the visual disconnection state are written to the same reverse verification position.
[0082] After the visual reverse verification is completed, the evidence breakage tracking nodes with the reference continuation state retained and the visual disconnection state established are written into the abnormal survival locking range. The evidence breakage tracking nodes with the reference continuation state disappeared, the visual disconnection state was not established, and the object identity value could not be reattached to the same base view node are moved out of the abnormal survival locking range. The retained evidence breakage tracking nodes are arranged according to the object identity value and node path, and maintain the same position association with the corresponding evidence breakpoint marker to generate abnormal survival candidate nodes.
[0083] It should be noted that the reference continuation state refers to the state in which a view object is still held by references such as asynchronous callbacks, listener relationships, delayed tasks, and container caches after it has been removed from the current business interface. It is used to determine whether there are any unreleased holding traces of the view object.
[0084] The visual disconnect state refers to the state in which the view object no longer participates in the page lifecycle, window attachment, and visual rendering of the current business interface. It is used to determine whether the view object has been disconnected from the visible interface link.
[0085] S3.4: Based on the object identity value and node path, perform abnormal evidence co-positioning for abnormal survival candidate nodes, and associate the evidence breakpoint marker, reference continuation state and visual disconnection state corresponding to the abnormal survival candidate nodes with the same node record position to generate abnormal survival node records.
[0086] Furthermore, abnormal survival candidate nodes are expanded according to object identity value and node path. Evidence breakpoint markers, reference continuation status, and visual disconnection status are respectively pasted back to the corresponding tracking chain position. Evidence breakpoint markers are used to indicate the break point, reference continuation status is used to indicate the holding trace, and visual disconnection status is used to indicate the display disconnection position. When the object identity value can correspond to the same baseline view node and the node path can be continuously connected to the same tracking chain position, the abnormal survival candidate node enters the abnormal evidence co-position solidification range. Abnormal survival candidate nodes with deviated object identity values and disconnected node paths exit the abnormal evidence co-position solidification range.
[0087] The co-position solidification of abnormal evidence revolves around the same tracking chain position. The break point, holding trace, and displayed disconnection position are assigned to the same node record position according to the object identity value, and the abnormal survival candidate node is bound to the corresponding baseline view node along the node path. The corresponding writing of the object identity value, node path, and co-position solidification content of abnormal evidence is completed at the same node record position, generating abnormal survival node records.
[0088] S4: Based on the object identity value and node path in the abnormal live node record, perform asynchronous attachment trace screening and asynchronous attachment entry callback on the abnormal live object, generate asynchronous holding entry record, and connect the trigger page, callback position and abnormal live object into a traceable path according to the holding entry in the asynchronous holding entry record, and generate asynchronous holding source path.
[0089] S4.1: Based on the object identity value and node path in the abnormal live node record, screen the attachment traces of the asynchronous holding relationship corresponding to the abnormal live object, and mark the asynchronous holding relationship that continuously points to the same object identity value and can be reattached to the abnormal live object as a valid attachment trace. Remove the asynchronous holding relationship that has been released, the object identity value has deviated, or the node path reattachment has been interrupted from the callback range and generate the attachment trace to be callback.
[0090] Furthermore, the asynchronous holding relationship is formed by the callback registration record, listener binding record, delayed task record, and cache holding record retained during the current Android application window's runtime. The callback registration record corresponds to the location where the asynchronous callback is formed, the listener binding record corresponds to the location where the view object is held by the listener relationship, the delayed task record corresponds to the location where the delayed execution task holds the abnormally alive object, and the cache holding record corresponds to the location where the container cache retains the abnormally alive object. The asynchronous holding relationship is attached back to the abnormally alive node record according to the object identity value. Content that can continuously point to the same object identity value and access the node path enters the attachment trace screening range.
[0091] The screening of attachment traces revolves around the continuity of the asynchronous holding relationship and the release status. When the asynchronous holding relationship still points to the same object identity value and the node path can be reattached to the abnormally alive object, it is marked as a valid attachment trace. When the asynchronous holding relationship has been released, the object identity value has deviated, and the node path reattachment is interrupted, it is removed from the callback range. The remaining valid attachment traces fall into the same callback position according to the object identity value and node path, and a pending callback attachment trace is generated.
[0092] It should be noted that the callback hook trace refers to the asynchronous holding trace that continues to point to the same object identity value after being screened by the hook trace and can be hooked back to the abnormal live object along the node path, which is used for subsequent reverse lookup of asynchronous hook entry.
[0093] S4.2: Extract the connection relationship between asynchronous connection links from the pending callback connection traces, locate the source link of the abnormally alive object that is continuously held, form a holding entry candidate record, and review the release status of the holding entry candidate record. Solidify the source link that has not been released and maintains the reference continuation state as the holding entry, and generate an asynchronous holding entry record.
[0094] Furthermore, the callback hook traces are expanded according to the object identity value and node path. The connection relationship between asynchronous hook links is arranged in the order of callback registration position, asynchronous execution position, and callback trigger position. The asynchronous hook link that can continuously point to the abnormally alive object is positioned as the source link. When the source link and the abnormally alive object maintain the same object identity value, and the node path can be hooked back to the abnormally alive node record, the source link is written into the holding entry candidate record. The content that the source link points to is interrupted or deviates from the node path does not enter the holding entry candidate record.
[0095] The release status review revolves around the candidate records of holding entry points. It checks the release record, cancellation record, and reference continuation status corresponding to the source chain position one by one. When the source chain position has no release record or cancellation record and the reference continuation status still points to the abnormally alive object, the source chain position is fixed as the holding entry point. When the source chain position has a release record, the reference continuation status has disappeared, and only a one-time callback trace is retained, it is removed from the candidate records of holding entry points. The retained holding entry points fall into the same entry record position according to the object identity value and node path, and an asynchronous holding entry record is generated.
[0096] It should be noted that the succession relationship refers to the connection relationship in which the previous asynchronous attachment link can continue to pass the holding relationship of the abnormally alive object to the next asynchronous attachment link. For example, the callback registration position forms an attachment, the asynchronous execution position continues to save the attachment, and the callback trigger position still points to the same abnormally alive object.
[0097] S4.3: Locate the trigger source of the holding entry in the asynchronous holding entry record, form a trigger source location record, and retrieve the page route record, business component location record and callback registration record based on the trigger source location record to write the registration acceptance chain position and generate the holding return link position.
[0098] Furthermore, the holding entry in the asynchronous holding entry record is expanded according to the object identity value and node path. The trigger source is located for the holding entry, and the trigger page source is traced back along the asynchronous attachment chain corresponding to the holding entry. The page routing record is used to indicate the page instance receiving and route jump source of the trigger page. The business component location record is used to indicate the interface location of the business component that forms the asynchronous attachment. The callback registration record is used to indicate the callback registration location, registration time and the holding object pointing to. When the holding entry can correspond to the page routing record, business component location record and callback registration record at the same time, the trigger page, business component location and callback registration location are written to the same trigger source location location to form a trigger source location record.
[0099] The process of writing the trigger source location record into the registration accepting chain position involves arranging the chain positions according to the order of formation between the trigger page, business component position, and callback registration position, and writing the trigger page and callback position that can accept the holding entry into the same back pointer chain position. Content that cannot correspond to the trigger page in the page routing record, cannot correspond to the callback position in the business component position record, and cannot point to the same holding entry in the callback registration record is isolated outside the registration accepting chain position. The reserved back pointer chain positions are written according to the object identity value and node path to generate the holding back pointer chain position.
[0100] S4.4: Based on the holding pointer chain position, verify the continuous pointer state between the trigger page, callback position, holding entry and abnormal live object, form asynchronous holding candidate paths, and exclude pointer breakpoints according to the relationship of consistent object identity value, unreleased holding entry and callback position can continue the trigger page, and generate continuous holding pointer paths.
[0101] Furthermore, the holding back pointer chain is expanded according to the object identity value and node path. The trigger page chain, callback position chain, holding entry chain, and abnormal live object chain are concatenated along the back pointer direction. The trigger page chain corresponds to the page routing record, the callback position chain corresponds to the callback registration record, the holding entry chain corresponds to the asynchronous holding entry record, and the abnormal live object chain corresponds to the abnormal live node record. When each chain corresponds to the same object identity value and the node path can be continued from the trigger page through the callback position and holding entry to the abnormal live object, it is determined to be a continuous back pointer state, forming an asynchronous holding candidate path.
[0102] Asynchronous holding candidate paths are excluded based on the following relationships: consistent object identity value, unreleased holding entry point, and callback position can continue to trigger page. Paths with consistent object identity value and holding entry point still maintain reference continuation state are retained, while paths with deviated object identity value, released holding entry point, callback position cannot continue to trigger page, and abnormal live objects cannot be attached back to the node path are removed. The retained paths are rearranged according to the back pointer direction from the trigger page to the abnormal live object to generate continuous holding back pointer paths.
[0103] It should be noted that continuous callback state refers to a state in which the triggering page, callback position, holding entry point, and abnormally surviving object can maintain a traceable connection according to the same object identity value and the same node path.
[0104] S4.5: Based on the continuous holding back pointer path, perform asynchronous holding source tracing closure on the continuous holding back pointer path to form a traceable path. The traceable path arranges the holding source chain elements along the back pointer direction from the trigger page to the abnormal live object, and pastes the object identity value and node path back to the same holding source record position to generate an asynchronous holding source path.
[0105] Furthermore, the continuous holding back pointer path is expanded according to the object identity value and node path. The continuous holding back pointer path is closed by asynchronous holding source tracing. The chain position closure is checked from the abnormal live object along the holding entry, callback position and trigger page back pointer direction. It is checked whether the holding entry in the continuous holding back pointer path maintains the reference continuation state, whether the callback position can continue the holding entry, and whether the trigger page can continue the callback position. The continuous holding back pointer path that meets the closure check is fixed as a traceable path, and the path that does not meet the closure check is not included in the traceable path range.
[0106] The traceable path arranges the holding source chain elements along the pointer direction from the trigger page to the abnormal live object. The trigger page, callback position, holding entry, and abnormal live object fall into the same holding source record position in the pointer order. The object identity value is used to limit the abnormal live object corresponding to the traceable path, and the node path is used to limit the base view node position of the traceable path. After the object identity value and node path are pasted, an asynchronous holding source path is generated.
[0107] It should be noted that the holding source chain element refers to the chain element content in the traceable path used to represent the source of asynchronous holding, corresponding to the trigger page, callback position, holding entry point, and abnormal live object.
[0108] S5: Based on the node path in the abnormal live node record, perform liveness anomaly chaining on the cross-layer view liveness evidence sheet and asynchronous holding source path, generate abnormal liveness detection entries, perform debugging overlay mapping and encapsulation on the abnormal liveness detection entries, and generate view liveness detection results.
[0109] S5.1: Based on the node path in the abnormal survival node record, extract the node evidence position corresponding to the evidence breakpoint mark from the cross-layer view survival evidence sheet, and attach the holding entry, callback position and trigger page in the asynchronous holding source path back to the node evidence position along the object identity value. Close the abnormal chain position for content that can correspond to the same node path and the same object identity value at the same time, and generate abnormal survival detection entries.
[0110] Furthermore, the cross-layer view survival evidence sheet expands according to the node path in the abnormal survival node record. The node evidence position where the evidence breakpoint mark is located is located from the corresponding position of the node path. The node evidence position is used to connect the chain position relationship between the evidence breakpoint mark, the object identity value and the abnormal survival node record. When the evidence breakpoint mark can be mapped to the abnormal survival node record along the node path, the evidence breakpoint mark is retained in the node evidence position. The evidence breakpoint mark of the node path being broken and the object identity value being deviated does not enter the abnormal chain position closure range, providing evidence landing point for asynchronous holding source path reattachment.
[0111] The asynchronous holding source path is expanded according to the object identity value. The holding entry, callback position and trigger page are attached back to the node evidence position along the object identity value. The holding entry is used for the continuous holding source of the corresponding abnormal live object, the callback position is used for the asynchronous attachment formation position, and the trigger page is used for the page trigger position of the corresponding holding source. When the node evidence position, holding entry, callback position and trigger page correspond to the same node path and the same object identity value at the same time, the chain content is closed to the same detection entry position to form an abnormal liveness detection entry.
[0112] S5.2: Perform object holding back calibration on the abnormal survival detection entries, and retain the content that can point back to the same abnormal survival object along the object identity value and can continue the evidence breakpoint mark at the corresponding position along the node path in the same detection entry position, and remove the content that points back to the abnormal survival object, breaks the node path, and cannot point to the abnormal survival object from the detection entry range to form the detection entry to be mapped.
[0113] Furthermore, the abnormal survival detection entries are expanded according to the object identity value. The object holding back calibration is performed around the abnormal survival object, the evidence breakpoint marker, and the holding entry in the asynchronous holding source path. The identity value is checked to verify the identity of the holding entry pointing to the abnormal survival object, and the connection relationship between the corresponding position of the evidence breakpoint marker, the position of the abnormal survival object and the holding entry is checked along the node path. The object holding back calibration value is calculated for each abnormal survival detection entry.
[0114] The expression for the retrace calibration value held by the computed object is: ; in, Holds a pointer back calibration value for the object. The object identity value consistency is obtained by normalizing the matching ratio between the object identity value pointed to by the holding entry and the object identity value bound to the abnormally alive object. The node path continuity is calculated as the proportion of consecutive chain positions from the evidence breakpoint marker to the abnormal surviving object and then to the entry point, relative to the required continuous chain positions. The evidence breakpoint fit is obtained by inversely normalizing the hierarchical distance between the evidence bit of the node where the evidence breakpoint is located and the path of the node where the abnormal surviving object is located. The holding duration is obtained by normalizing the duration for which the holding entry maintains a reference continuation state relative to the sampling duration of the detection sampling domain. The value is set to 0 if no release record exists and 1 if a release record exists. The value for canceling the interception is 0 if no cancellation record exists and 1 if a cancellation record exists. The callback breakpoint value is obtained by normalizing the number of broken links between the callback position and the holding entry point relative to the total number of callback links. The trigger span value is obtained by normalizing the number of cross-page jumps between the triggering page and the callback position relative to the total number of jumps in the page routing record. It is a natural constant.
[0115] The object holding retracement calibration threshold (example range: 0.55 to 0.75) is set based on the false alarm tolerance for abnormal survival, the complexity of the node path, and the completeness of the asynchronous holding record. The higher the value is when the node path is more complex and the asynchronous holding record is more likely to cause erroneous closure. When the object holding retracement calibration value reaches the object holding retracement calibration threshold, the evidence breakpoint marker in the abnormal survival detection entry is marked at the corresponding position, and the abnormal survival object and holding entry are kept in the same detection entry position. When the object holding retracement calibration value does not reach the object holding retracement calibration threshold, the contents of retracement deviation, node path breakage, and holding entry that cannot point to the abnormal survival object are removed from the detection entry range.
[0116] The calibration continues along the node path to the corresponding position of the evidence breakpoint mark. When the node path can access the abnormal live object from the corresponding position of the evidence breakpoint mark and continue to the corresponding holding entry, the retained content is assigned to the same position to be mapped according to the object identity value and the node path. The calibration deviation position, the node path break position, and the position where the holding entry cannot point to the abnormal live object are moved out of the detection entry range and form a detection entry to be mapped.
[0117] It should be noted that the scope of the detection entries refers to the content boundary of the abnormal survival detection entries that simultaneously satisfy the following conditions: consistent object identity value, continuous node path, evidence breakpoint markers that fit the abnormal survival object, and the holding entry continuously pointing to the abnormal survival object.
[0118] Whether the screening can be closed and whether it should be excluded, the consistency of object identity value, node path continuity, evidence breakpoint fit, and holding persistence are used to improve the calibration value, indicating that the holding entry does indeed point to the same abnormal live object and can be connected to the corresponding position of the evidence breakpoint mark. Release record, cancel record, callback breakpoint, and trigger span are used to lower the calibration value, indicating that the holding relationship may have failed or the retracement link is unreliable. Through this formula, abnormal live detection entries can be transformed into comparable object holding retracement calibration values. When the calibration value reaches the threshold, it is retained as a detection entry to be mapped. When it does not reach the threshold, it is removed from the detection entry range, thereby reducing misjudgments caused by retracement deviation, path breakage, and failed holding relationships.
[0119] S5.3: Debug the floating layer chain bit mapping of the detection entries to be mapped, and perform floating layer display calibration according to the hierarchical order of the node path in the detection sampling domain to generate floating layer mapping detection entries.
[0120] Furthermore, the items to be mapped for detection are expanded according to the node path. The debugging of the floating layer chain mapping is expanded around the abnormal live object, the corresponding position of the evidence breakpoint marker, and the asynchronous holding source path. The node path where the abnormal live object is located is pasted back to the corresponding level position in the detection sampling domain. The position corresponding to the evidence breakpoint marker is marked as the breakpoint prompt chain position. The holding entry, callback position, and trigger page corresponding to the asynchronous holding source path are marked as the holding source chain position. The breakpoint prompt chain position and the holding source chain position fall into the same chain position range to be displayed.
[0121] The floating layer display calibration unfolds according to the hierarchical order of node paths in the detection sampling domain. The node paths that are first carried by the root view are arranged in the upper layer display chain position, and the node paths corresponding to the child views are arranged sequentially along the parent-child hierarchical relationship. Content with broken node paths does not enter the floating layer display calibration range. The calibration-completed detection entries to be mapped are written to the abnormal live object position, the corresponding position of the evidence breakpoint marker, the asynchronous holding source path, and the floating layer display chain position to generate the floating layer mapping detection entries.
[0122] S5.4: Encapsulate the detection results of the floating layer mapping detection entries, and map the node path, object identity value, abnormal chain closure content and floating layer display chain position to the same detection record position to generate view liveness detection results.
[0123] Furthermore, the floating layer mapping detection entries are expanded according to the object identity value and node path. The detection results are encapsulated around the abnormal chain closure content and the floating layer display chain position. It checks whether the node path still corresponds to the hierarchical order in the detection sampling domain, whether the object identity value still points to the same abnormal live object, and whether the abnormal chain closure content has been associated with the evidence breakpoint marker and the asynchronous holding source path. Floating layer mapping detection entries that match are entered into the same detection record position, while content that deviates is not written to the detection record position.
[0124] The detection record positions are written in the order of node path, object identity value, abnormal chain closure content and floating layer display chain position. The abnormal chain closure content is used to indicate the closure relationship between evidence breakpoint marker, abnormal live object and asynchronous holding source path. The floating layer display chain position is used to indicate the display position in the debugging floating layer. The completed detection record positions are collected according to object identity value to generate view liveness detection results.
[0125] It should be noted that the view liveness detection result is a detection output formed by binding the abnormal live object, the evidence breakpoint position, the asynchronous holding source, and the debugging overlay display position. It is used to locate abnormal liveness situations where the view object has been visually disconnected but is still referenced and held.
[0126] This embodiment also provides a view liveness detection system based on the Android system, including: The baseline view module is used to lock the detection sampling domain of the current business interface based on the page running state and window attachment relationship of the current Android application window in the industrial application development engine, form a detection sampling domain, locate the baseline view node of the view object in the detection sampling domain, bind the object identity value and node path, and generate the target view node baseline record.
[0127] The cross-layer evidence fusion module is used to extract the baseline view node based on the baseline record of the target view node, combine the page lifecycle evidence, window attachment evidence, visual drawing evidence and reference continuation evidence with the object identity value for same-position fusion, and pre-mark the evidence breakpoints at the survival conflict positions to generate a cross-layer view survival evidence sheet.
[0128] The fracture tracking and locking module is used to track the evidence fracture of the baseline view node based on the evidence breakpoint marker in the cross-layer view survival evidence sheet, obtain the evidence fracture tracking node, and lock the abnormal survival of the evidence fracture tracking node based on the reference continuation status and visual disconnection status in the evidence fracture tracking node, and generate an abnormal survival node record.
[0129] The asynchronous holding back module is used to screen the asynchronous attachment traces and callback the asynchronous attachment entry for abnormal live objects based on the object identity value and node path in the abnormal live object record, generate an asynchronous holding entry record, and connect the trigger page, callback position and abnormal live object according to the holding entry in the asynchronous holding entry record to form a traceable path, thereby generating the asynchronous holding source path.
[0130] The floating layer result mapping module is used to perform liveness anomaly chaining on cross-layer view liveness evidence sheets and asynchronous holding source paths based on the node paths in the abnormal liveness node records, generate abnormal liveness detection entries, debug floating layer mapping and encapsulate the abnormal liveness detection entries, and generate view liveness detection results.
[0131] In summary, this invention identifies asynchronous attachment traces by filtering the object identity value and node path in the abnormal survival node record, and calls back the asynchronous attachment entry point in the industrial application development engine. It closes the holding entry point, callback position and trigger page into an asynchronous holding source path, realizing the chained location of the holding source of the abnormal survival object. This facilitates the synchronous presentation of visual breakpoints and reference sources in the debugging overlay, improving the traceability and troubleshooting efficiency of the view survival detection results.
[0132] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.
Claims
1. A view liveness detection method based on the Android system, characterized in that, include: Based on the current Android application window's page running state and window attachment relationship in the industrial application development engine, the current business interface is locked to form a detection sampling domain. The view objects in the detection sampling domain are located as reference view nodes, and the object identity value and node path are bound to generate a target view node reference record. Based on the baseline record of the target view node, the baseline view node is extracted, and the page life cycle evidence, window attachment evidence, visual drawing evidence and reference continuation evidence are combined with the object identity value for same-position fusion. Evidence breakpoints are pre-marked at the survival conflict positions to generate a cross-layer view survival evidence sheet. Based on the evidence breakpoint markers in the cross-layer view survival evidence sheet, evidence breakage tracking is performed on the baseline view nodes to obtain evidence breakage tracking nodes. Based on the reference continuation status and visual disconnection status in the evidence breakage tracking nodes, abnormal survival locking is performed on the evidence breakage tracking nodes to generate abnormal survival node records. Based on the object identity value and node path in the abnormal live node record, the abnormal live object is screened for asynchronous attachment traces and the asynchronous attachment entry is called back, generating an asynchronous holding entry record. Based on the holding entry in the asynchronous holding entry record, the trigger page, callback position and abnormal live object are connected into a traceable path according to the back pointer relationship to generate the asynchronous holding source path. Based on the node paths in the abnormal live node records, perform liveness anomaly chaining on the cross-layer view liveness evidence sheet and asynchronous holding source path, generate abnormal liveness detection entries, perform debugging overlay mapping and encapsulation on the abnormal liveness detection entries, and generate view liveness detection results.
2. The view liveness detection method based on the Android system as described in claim 1, characterized in that, The formation of the detection sampling domain is specifically as follows: Based on the current page running state and window attachment relationship of the Android application window in the industrial application development engine, the interface attachment positioning elements of the current business interface are collected into a window attachment chain to form a window attachment chain collection record. Based on the window attachment chain positions in the window attachment chain collection record, the start and end boundaries of the window attachment chain are marked, and the parent-child hierarchical inheritance relationship is continued downward from the root view bearing position in the window attachment chain position to form the detection sampling domain.
3. The view liveness detection method based on the Android system as described in claim 1, characterized in that, The specific steps for generating the target view node baseline record are as follows: Based on the sampling domain boundary in the detection sampling domain, the view objects within the sampling domain boundary coverage area are ordered and positioned, and the view objects with valid drawable state and continuous parent-level hanging relationship are written to generate a base view node set. Extract the corresponding view instance identifier, page instance identifier, and business interface location from the base view node set, merge the fields, synthesize them into an object identity value, and perform node path postback based on the object identity value. Bind the object identity value, node path, and base view node to the same node record location to generate a node identity binding table. Based on the object identity value and node path in the node identity binding table, the sampling domain back-up verification and target benchmark splitting and solidification are performed on the node identity binding table. The object identity value, node path and benchmark view node are encapsulated in the order of node path to generate the target view node benchmark record.
4. The view liveness detection method based on the Android system as described in claim 1, characterized in that, The process of performing in-situ fusion is as follows: Extract the baseline view node, object identity value, and node path from the baseline record of the target view node. Lock the cross-layer evidence entry corresponding to the baseline view node according to the object identity value. Based on the node path, reattach the evidence entry at the collection location of cross-layer surviving evidence to generate the baseline view node to be fused. Based on the object identity value and node path in the benchmark view node to be merged, the receipt status in the cross-layer evidence collection chain is diverted and the receipt record is placed, and the receipt content is placed in the corresponding node evidence position. The difference content to be merged is attached to the difference chain position under the same object identity value to generate a cross-layer survival receipt chain. Based on the object identity value, node path, and difference chain position in the cross-layer survival receipt chain, the node evidence position of the cross-layer survival receipt chain is solidified and the survival conflict is transposed, and corresponding to the node name under the same baseline view to form a co-position fusion evidence table.
5. The view liveness detection method based on the Android system as described in claim 4, characterized in that, The generation of the cross-layer view survival evidence form is as follows: The survival status of the survival conflict location is verified to form a breakpoint trigger state. Based on the breakpoint trigger state, the location where the survival link is broken but the reference is still retained is written into the breakpoint location to be pre-labeled. The location with only the collection time delay is pasted back to the co-location fusion evidence table to form a list of breakpoints to be pre-labeled. The pre-marked breakpoint list is used to pre-mark evidence breakpoints, forming evidence breakpoint markers. Based on the object identity value, the evidence breakpoint markers are referenced back to the baseline view node. At the same time, the same-position fusion evidence table is connected to generate a cross-layer view survival evidence sheet.
6. The view liveness detection method based on the Android system as described in claim 5, characterized in that, The generation of abnormal live node records is as follows: Perform object path reattachment and breakpoint chain arrangement on the evidence breakpoint markers in the cross-layer view survival evidence sheet, and isolate the evidence breakpoint markers with object identity value deviation and node path break outside the tracking chain, generating a set of breakpoint nodes to be tracked; Based on the set of breakpoint nodes to be tracked, the page lifecycle evidence bits, window attachment evidence bits, and visual drawing evidence bits are reconnected from the node path, and the reference continuation evidence bits are attached simultaneously to form an evidence reconnection chain. The break point of the evidence reconnection chain is locked to obtain the evidence break tracking node. The evidence breakage tracking nodes are subjected to visual reverse verification of citation, and the evidence breakage tracking nodes that retain the citation continuation state and the visual disconnection state are locked for abnormal survival. At the same time, the evidence breakage tracking nodes that have not formed a visual reverse citation relationship are excluded, and abnormal survival candidate nodes are generated. Based on the object identity value and node path, abnormal evidence is solidified in the same position for abnormal survival candidate nodes, and the evidence breakpoint mark, reference continuation status and visual disconnection status corresponding to the abnormal survival candidate nodes are associated with the same node record position to generate abnormal survival node records.
7. The view liveness detection method based on the Android system as described in claim 6, characterized in that, The generation of asynchronous holding entry records is as follows: Based on the object identity value and node path in the abnormal live node record, the asynchronous holding relationship corresponding to the abnormal live object is screened for attachment traces. Asynchronous holding relationships that continuously point to the same object identity value and can be reattached to the abnormal live object are marked as valid attachment traces. Asynchronous holding relationships that have been released, whose object identity value has deviated, and whose node path reattachment has been interrupted are removed from the callback range and generated attachment traces to be callbacked. Extract the connection relationship between asynchronous connection links from the pending callback connection traces, locate the source link of the abnormally alive object that is continuously held, form a holding entry candidate record, and review the release status of the holding entry candidate record. Solidify the source link that has not been released and maintains the reference continuation state as the holding entry, and generate an asynchronous holding entry record.
8. The view liveness detection method based on the Android system as described in claim 7, characterized in that, The generation of the asynchronous holding source path is as follows: The trigger source is located in the asynchronous holding entry record to form a trigger source location record. Based on the trigger source location record, the page route record, business component location record and callback registration record are retrieved to write the registration acceptance chain position and generate the holding back pointer chain position. Based on the holding back pointer chain, the continuous back pointer status between the trigger page, callback position, holding entry and abnormal live object is verified to form asynchronous holding candidate paths. Back pointer breakpoints are excluded according to the relationship that the object identity value is consistent, the holding entry is not released and the callback position can continue the trigger page, and continuous holding back pointer paths are generated. Based on the continuous holding back pointer path, the continuous holding back pointer path is closed by asynchronous holding source tracing to form a traceable path. The traceable path arranges the holding source chain elements along the back pointer direction from the trigger page to the abnormal live object, and pastes the object identity value and node path back to the same holding source record position to generate the asynchronous holding source path.
9. The view liveness detection method based on the Android system as described in claim 1 or 8, characterized in that, The liveness detection results of the generated view are as follows: Based on the node path in the abnormal survival node record, extract the node evidence position corresponding to the evidence breakpoint marker from the cross-layer view survival evidence sheet, and attach the holding entry, callback position and trigger page in the asynchronous holding source path back to the node evidence position along the object identity value. Close the abnormal chain position for content that can simultaneously correspond to the same node path and the same object identity value, and generate abnormal survival detection entries. Perform object holding back calibration on abnormal survival detection entries, and retain the content that can point back to the same abnormal survival object along the object identity value and can continue the evidence breakpoint mark at the corresponding position along the node path in the same detection entry position, and remove the content that points back to the abnormal survival object, breaks the node path and cannot point to the abnormal survival object from the detection entry range to form a detection entry to be mapped. The floating layer chain bit mapping of the target detection item is debugged, and the floating layer display calibration is performed according to the hierarchical order of the node path in the detection sampling domain to generate the floating layer mapping detection item. The detection results of the floating layer mapping detection entries are encapsulated, and the node path, object identity value, abnormal chain closure content and floating layer display chain are mapped to the same detection record position to generate view liveness detection results.
10. A view liveness detection system based on the Android system, based on the view liveness detection method based on the Android system according to any one of claims 1 to 9, characterized in that, include: The baseline view module is used to lock the detection sampling domain of the current business interface based on the page running state and window attachment relationship of the current Android application window in the industrial application development engine, form a detection sampling domain, locate the baseline view node of the view object in the detection sampling domain, bind the object identity value and node path, and generate the target view node baseline record. The cross-layer evidence fusion module is used to extract the baseline view node based on the baseline record of the target view node, combine the page life cycle evidence, window attachment evidence, visual drawing evidence and reference continuation evidence with the object identity value for same-position fusion, and pre-mark the evidence breakpoints at the survival conflict positions to generate a cross-layer view survival evidence sheet. The fracture tracking and locking module is used to track the evidence fracture of the baseline view node based on the evidence breakpoint marker in the cross-layer view survival evidence sheet, obtain the evidence fracture tracking node, and lock the abnormal survival of the evidence fracture tracking node based on the reference continuation status and visual disconnection status in the evidence fracture tracking node, and generate an abnormal survival node record. The asynchronous holding back module is used to screen the asynchronous attachment traces and callback the asynchronous attachment entry for abnormal live objects based on the object identity value and node path in the abnormal live object record, generate the asynchronous holding entry record, and connect the trigger page, callback position and abnormal live object into a traceable path according to the holding entry in the asynchronous holding entry record, thereby generating the asynchronous holding source path. The floating layer result mapping module is used to perform liveness anomaly chaining on cross-layer view liveness evidence sheets and asynchronous holding source paths based on the node paths in the abnormal liveness node records, generate abnormal liveness detection entries, debug floating layer mapping and encapsulate the abnormal liveness detection entries, and generate view liveness detection results.