A method, system and related devices for preloading a virtual list
By listening to the touch event stream of the virtual list, calculating the swipe feature vector, and recognizing the user's intent, the problem of invalid loading and resource waste in the existing technology is solved, and the accurate preloading of the virtual list is achieved, improving resource utilization efficiency and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- JIALIAN PAYMENTS CO LTD
- Filing Date
- 2026-01-09
- Publication Date
- 2026-05-29
AI Technical Summary
In existing technologies, virtual list data loading methods based on scroll distance thresholds cannot take into account the user's real-time behavioral intent, resulting in invalid data loading and resource waste, which affects the smoothness of page scrolling.
By listening to the touch event stream of the virtual list, calculating the swipe feature vector and inputting it into a preset intent classifier, the user's browsing intent is identified. Based on the intent and heat level, a resource preloading strategy is determined to achieve accurate preloading of the virtual list content.
It achieves accurate preloading based on real-time user behavior and intent, avoiding invalid loading and resource waste, and improving the resource utilization efficiency and user experience of the virtual list.
Smart Images

Figure CN122111285A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data loading technology, and in particular to a method, system and related apparatus for preloading a virtual list. Background Technology
[0002] With the maturity of the mobile internet ecosystem, mini-programs have experienced explosive growth in fields such as catering, e-commerce, and lifestyle services. Taking catering mini-programs as an example, users often need to browse lists of dozens or even hundreds of dishes, while e-commerce mini-programs need to display massive amounts of product information. If a full data loading mode is used, it will lead to excessively long initial loading time, page lag, or even memory overflow, seriously affecting the user experience. Therefore, virtual lists have become a common technical solution for mini-programs to handle large data lists. However, the loading strategy of virtual lists directly determines resource utilization efficiency and user experience. How to ensure browsing continuity while avoiding unnecessary resource consumption has become a bottleneck for technical optimization.
[0003] In existing technologies, data loading for virtual lists in mini-programs is typically based on a scroll distance threshold. Specifically, within the scrolling container of the virtual list, scroll events are monitored to calculate the scroll distance of the container, the relationship between the visible area height and the total list height, thus determining the distance from the current position to the bottom of the list. When this distance is detected to be less than a preset scroll distance threshold, a request for the next page of data is automatically triggered to retrieve subsequent list data from the backend. After the data request is successful, the new data is appended to the virtual list's data source, and the total list height calculation is updated to ensure that the visible area seamlessly renders new data as the user continues scrolling, maintaining browsing continuity.
[0004] However, this technique of using scroll distance thresholds to load data cannot take into account the user's real-time behavioral intent. It only triggers loading based on a fixed spatial dimension, which leads to invalid data loading and wasted resources, thus affecting the smoothness of page scrolling. Summary of the Invention
[0005] To address the aforementioned technical problems, this application provides a method, system, and related apparatus for preloading virtual lists.
[0006] The technical solution provided in this application is described below: The first aspect of this application provides a method for preloading a virtual list, the preloading method comprising: Monitor the touch event stream generated by the user's touch operation within the visible area of the virtual list, and record the coordinates and timestamps of multiple sampling points in the touch event stream; A sliding feature vector is calculated based on the coordinates and timestamps of the multiple sampling points. The sliding feature vector includes sliding velocity, sliding acceleration, and sliding direction deflection angle. The sliding feature vector is input into a preset intent classifier, and the user's browsing intent is identified by the preset intent classifier; A resource preloading strategy is determined based on the browsing intent, and each item in the virtual list is preloaded based on the resource preloading strategy.
[0007] Optionally, after identifying the user's browsing intent through the preset intent classifier, the preloading method further includes: The visible area is divided into several partitions according to a preset size; Acquire touch operations in each of the partitions, the touch operations including dwell time and number of passes; The heat value of each zone is calculated based on the dwell time and the number of times it is passed through, and the heat level of each zone is classified according to the heat value.
[0008] Optionally, determining a resource preloading strategy based on the browsing intent, and preloading each item in the virtual list based on the resource preloading strategy, includes: The priority of each item in the virtual list is determined based on the browsing intent and the heat level; If the priority is high, then the content with the high priority will be fully preloaded, and the corresponding high-definition image will be preloaded. If the priority is low, the content with the low priority will be preloaded with a delay or simplified preload, and the corresponding thumbnail will be preloaded.
[0009] Optionally, the browsing intent includes fast swiping browsing, detailed browsing, and normal browsing, and the thermal level includes hot zone, warm zone, and cold zone; Determining the priority of each item in the virtual list based on the browsing intent and the heat level includes: When the browsing intent is the fast swipe browsing, and / or the heat level is the warm zone or the cold zone, the priority of the content corresponding to the virtual list is low; When the browsing intent is detailed browsing and / or the heat level is the hot zone, the content corresponding to the virtual list has a high priority; When the browsing intent is normal browsing, the priority of each item in the virtual list is determined according to a preset default mechanism.
[0010] Optionally, the preloading method further includes: When the virtual list is scrolling, content that has been moved out of the visible area will be recycled; The network speed is monitored in real time, and when the network speed is lower than a preset network speed threshold, the high-definition image is dynamically updated to the thumbnail.
[0011] Optionally, identifying the user's browsing intent through the preset intent classifier includes: If the preset intent classifier identifies that the swiping speed is greater than a preset first swiping speed threshold and the swiping acceleration is greater than a preset swiping acceleration threshold, then the user's browsing intent is fast swiping browsing. If the preset intent classifier identifies that the swiping speed is less than a preset second swiping speed threshold and the absolute value of the swiping direction angle is less than a preset angle threshold, then the user's browsing intent is fine browsing. If the user's browsing intent is not identified as either fast swiping or detailed browsing, then the user's browsing intent is determined to be normal browsing.
[0012] Optionally, the sliding speed is expressed by the following formula: ; in, Indicates the sliding speed, Represents the first in the touch event stream Vertical coordinates of each sampling point Represents the first in the touch event stream -Vertical coordinates of 2 sampling points Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -2 timestamps for sampling points; The sliding acceleration is expressed by the following formula: ; in, This represents the sliding acceleration. This indicates the current velocity between sampling points in the touch event stream. This indicates the previous velocity between the current velocity and the previous velocity in the sampling points of the touch event stream. Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -1 timestamp of sampling point; The sliding direction deflection angle is expressed by the following formula: ; in, This indicates the deflection angle of the sliding direction. This represents the horizontal displacement of the last two sampling points in the touch event stream. This represents the vertical displacement of the last two sampling points in the touch event stream.
[0013] A second aspect of this application provides a preloading system for a virtual list, the preloading system comprising: The recording unit is used to monitor the touch event stream generated by the user's touch operation within the visible area of the virtual list, and to record the coordinates and timestamps of multiple sampling points in the touch event stream; The calculation unit is used to calculate a sliding feature vector based on the coordinates and timestamps of the multiple sampling points. The sliding feature vector includes sliding velocity, sliding acceleration, and sliding direction deflection angle. The identification unit is used to input the sliding feature vector into a preset intent classifier, and identify the user's browsing intent through the preset intent classifier; The preloading unit is used to determine a resource preloading strategy based on the browsing intent, and preload each item in the virtual list based on the resource preloading strategy.
[0014] Optionally, it also includes partitioning units, specifically used for: The visible area is divided into several partitions according to a preset size; Acquire touch operations in each of the partitions, the touch operations including dwell time and number of passes; The heat value of each zone is calculated based on the dwell time and the number of times it is passed through, and the heat level of each zone is classified according to the heat value.
[0015] Optionally, the preloading unit is specifically used for: The priority of each item in the virtual list is determined based on the browsing intent and the heat level; If the priority is high, then the content with the high priority will be fully preloaded, and the corresponding high-definition image will be preloaded. If the priority is low, the content with the low priority will be preloaded with a delay or simplified preload, and the corresponding thumbnail will be preloaded.
[0016] Optionally, the browsing intent includes fast swiping browsing, detailed browsing, and normal browsing, and the thermal level includes hot zone, warm zone, and cold zone; Determining the priority of each item in the virtual list based on the browsing intent and the heat level includes: When the browsing intent is the fast swipe browsing, and / or the heat level is the warm zone or the cold zone, the priority of the content corresponding to the virtual list is low; When the browsing intent is detailed browsing and / or the heat level is the hot zone, the content corresponding to the virtual list has a high priority; When the browsing intent is normal browsing, the priority of each item in the virtual list is determined according to a preset default mechanism.
[0017] Optionally, an update unit is also included, specifically for: When the virtual list is scrolling, content that has been moved out of the visible area will be recycled; The network speed is monitored in real time, and when the network speed is lower than a preset network speed threshold, the high-definition image is dynamically updated to the thumbnail.
[0018] Optionally, the identification unit is specifically used for: If the preset intent classifier identifies that the swiping speed is greater than a preset first swiping speed threshold and the swiping acceleration is greater than a preset swiping acceleration threshold, then the user's browsing intent is fast swiping browsing. If the preset intent classifier identifies that the swiping speed is less than a preset second swiping speed threshold and the absolute value of the swiping direction angle is less than a preset angle threshold, then the user's browsing intent is fine browsing. If the user's browsing intent is not identified as either fast swiping or detailed browsing, then the user's browsing intent is determined to be normal browsing.
[0019] Optionally, the sliding speed is expressed by the following formula: ; in, Indicates the sliding speed, Represents the first in the touch event stream Vertical coordinates of each sampling point Represents the first in the touch event stream -Vertical coordinates of 2 sampling points Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -2 timestamps for sampling points; The sliding acceleration is expressed by the following formula: ; in, This represents the sliding acceleration. This indicates the current velocity between sampling points in the touch event stream. This indicates the previous velocity between the current velocity and the previous velocity in the sampling points of the touch event stream. Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -1 timestamp of sampling point; The sliding direction deflection angle is expressed by the following formula: ; in, This indicates the deflection angle of the sliding direction. This represents the horizontal displacement of the last two sampling points in the touch event stream. This represents the vertical displacement of the last two sampling points in the touch event stream.
[0020] A third aspect of this application provides a preloading device for a virtual list, the preloading device comprising: Processor, memory, input / output units, and bus; The processor is connected to the memory, the input / output unit, and the bus; The memory stores a program, which the processor invokes to execute the first aspect and any optional preloading method of the first aspect.
[0021] A fourth aspect of this application provides a computer-readable storage medium storing a program that, when executed on a computer, performs the first aspect and any optional preloading method of the first aspect.
[0022] As can be seen from the above technical solutions, the embodiments of this application have the following advantages: This application determines the preloading strategy by monitoring user intent, achieving accurate preloading of virtual lists based on real-time user behavior and intent, thus overcoming the shortcomings of invalid loading and resource waste in existing technologies. First, it monitors the user's touch event stream within the visible area of the virtual list, extracting sliding feature vectors including swipe speed, swipe acceleration, and swipe direction angle. This breaks the limitation of relying solely on the single spatial dimension of scroll distance, avoiding biased loading decisions due to a lack of behavioral data. Then, the sliding feature vectors are input into a pre-defined intent classifier to identify user intent, enabling targeted differentiation of user swipe intentions and further preventing invalid preloading. Finally, a resource preloading strategy is determined based on the identified browsing intent to preload each item in the virtual list. This avoids wasting bandwidth and memory without affecting browsing smoothness. The entire solution matches preloading with user needs, resolving resource consumption issues caused by invalid loading while maintaining browsing continuity, improving the resource utilization efficiency of the virtual list and the user experience. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 A schematic flowchart of an embodiment of the preloading method provided in this application; Figure 2 A schematic flowchart of an embodiment of the preloading method for partitioning the visible area provided in this application; Figure 3 A schematic flowchart of an embodiment of the preloading method provided in this application, which preloads content according to its priority; Figure 4 A flowchart illustrating an embodiment of the preloading method provided in this application for determining priority based on browsing intent and heat level; Figure 5 A schematic diagram of an embodiment of the preloading system provided in this application; Figure 6 A schematic diagram of an embodiment of the preloading device provided in this application. Detailed Implementation
[0025] This application provides a method for preloading virtual lists, which can improve the user's browsing experience. It should be noted that the virtual list preloading method of this application is applied to a terminal.
[0026] It should be noted that the virtual list preloading method, apparatus, and related apparatus provided in this application can be applied to terminals, systems, and servers. For example, a terminal can be a smartphone, computer, tablet, smart TV, smartwatch, portable computer terminal, or a desktop computer, etc. For ease of explanation, this application uses a terminal as the execution subject for illustrative purposes.
[0027] Please see Figure 1 This application first provides an embodiment of a method for preloading a virtual list, the embodiment including: S101. Listen to the touch event stream generated by the user's touch operation within the visible area of the virtual list, and record the coordinates and timestamps of multiple sampling points in the touch event stream; In this embodiment, various touch event streams of the user within the visible area of the virtual list are monitored in real time. Whether it is a finger swipe, press, or move, as long as a touch event occurs, it will be included in the monitoring range.
[0028] While monitoring, multiple representative sampling points are selected. For each sampling point, the coordinates of that sampling point and the timestamp of the event are recorded. For example, when a user is browsing a virtual list of news articles, a sampling point is selected every 50 milliseconds as the finger swipes upwards, and the specific coordinates of the finger on the screen and the corresponding time at that sampling point are recorded. In this way, a basic dataset containing coordinates and timestamps can be formed, providing basic data support for subsequent processing.
[0029] S102. Calculate the sliding feature vector based on the coordinates and timestamps of multiple sampling points. The sliding feature vector includes the sliding velocity, sliding acceleration, and sliding direction deflection angle. In this embodiment, a sliding feature vector containing sliding speed, sliding acceleration, and sliding direction deflection angle is calculated based on the coordinates and timestamps of multiple recorded sampling points.
[0030] Specifically, when calculating the sliding speed, two adjacent sampling points need to be selected. First, the coordinate difference and time difference between these two sampling points are calculated. Then, the sliding speed can be obtained by the ratio of the coordinate difference to the time difference. When calculating the sliding acceleration, the sliding speed between multiple adjacent sampling points needs to be calculated first. Then, the sliding acceleration can be calculated based on the difference between two adjacent sliding speeds and the corresponding time difference. The sliding direction deviation angle is mainly determined by analyzing the direction of change of the coordinates of the sampling points. The deviation angle is mainly determined by judging whether the user deviates from the main sliding direction based on the ratio of the position change of the x-axis and y-axis directions when sliding.
[0031] S103. Input the sliding feature vector into the preset intent classifier, and identify the user's browsing intent through the preset intent classifier; After calculating the sliding feature vector, the sliding feature vector is input into a preset intent classifier to identify the user's browsing intent. This preset intent classifier has been trained through a large number of user touch event streams and stores sliding features corresponding to different browsing intents. For example, "selective browsing intent" corresponds to sliding features with varying sliding speeds, large acceleration fluctuations, and occasional changes in directional angle.
[0032] Specifically, the current user's swipe speed, swipe acceleration, and swipe direction angle are input into a preset classifier. The preset classifier will match the input swipe speed, swipe acceleration, and swipe direction angle with various internal intent features to determine which type of browsing intent the current swipe feature vector best matches.
[0033] S104. Determine the resource preloading strategy based on the browsing intent, and preload each item in the virtual list based on the resource preloading strategy.
[0034] The terminal has built-in differentiated resource preloading strategies that match different browsing intentions. These built-in resource preloading strategies are mainly derived from actual needs and historical loading strategies. Therefore, after identifying the user's browsing intention, the corresponding resource preloading strategy can be determined based on this browsing intention. For example, when the browsing intention is "selective browsing intention", it means that the user occasionally pauses to view specific content while scrolling. The corresponding resource preloading strategy is to preload a small amount of content before and after the current visible area and prioritize loading resources near the position where the user may stop.
[0035] At the same time, the contents of the virtual list are processed one by one according to the resource preloading strategy to ensure that these contents are loaded before the user scrolls to the corresponding position, and that no contents exceeding the number of the resource preloading strategy are loaded.
[0036] This embodiment determines the preloading strategy by listening to the user's intent, achieving accurate preloading of the virtual list based on the user's real-time behavioral intent, thus solving the defects of invalid loading and resource waste in the prior art. First, it listens to the user's touch event stream within the visible area of the virtual list, extracting sliding feature vectors including sliding speed, sliding acceleration, and sliding direction angle from the touch event stream. This breaks the limitation of relying solely on the single spatial dimension of scrolling distance, avoiding biased loading decisions due to a lack of behavioral data. Then, the sliding feature vectors are input into a preset intent classifier to identify the user's intent, enabling targeted differentiation of the user's sliding intent and further avoiding invalid preloading. Finally, a resource preloading strategy is determined based on the identified browsing intent to preload each piece of content in the virtual list. This avoids wasting bandwidth and memory without affecting browsing smoothness. The entire solution achieves a match between preloading and user needs, solving the resource consumption problem caused by invalid loading while maintaining browsing continuity, improving the resource utilization efficiency of the virtual list and the user experience.
[0037] After step S103 above, the visible area needs to be partitioned. Please refer to [link to relevant documentation]. Figure 2 , Figure 2 One embodiment of the preloading method provided in this application, which involves partitioning the visible area, includes: S201. Divide the visible area into several zones according to a preset size; In this embodiment, the preset size is a grid specification that is divided in advance according to the user's actual screen size and content display needs. The division method can be a grid layout, such as dividing the entire visible area into 2 columns horizontally and 3 rows vertically to form 6 independent partitions of uniform size. Each partition has a clear coordinate boundary. The specific division method is not limited here.
[0038] In the process of dividing the visible area into several partitions according to preset sizes, a mapping relationship between partitions and coordinates is also established so that when a user makes a touch operation within the visible area, the corresponding partition can be quickly matched through the coordinates, ensuring that each touch action can be accurately assigned to a partition.
[0039] S202. Obtain the touch operations in each partition, including the dwell time and the number of times the touch operation is passed; In this embodiment, the terminal uses a built-in behavior capture module to obtain touch operations in each partition, where each touch operation includes dwell time and number of visits. When a user performs a touch operation, the coordinates of the touch operation are matched to the corresponding partition, and the dwell time and number of visits to that partition are recorded.
[0040] Specifically, dwell time refers to the duration of a touch operation from entering the boundary of a partition to leaving the boundary of a partition. For example, if a user performs a touch operation and enters partition A at time t1 and leaves partition A at time t2, the dwell time in partition A will increase by (t2-t1). Passage count refers to the number of times a touch operation enters the boundary of a partition. Regardless of the dwell time, as long as the touch operation enters the partition from outside, the passage count of that partition will increase by 1. For example, a user's touch operation from area B to area A counts as one passage count, and leaving area A and then sliding back to area A counts as a second passage count.
[0041] During the process of acquiring dwell time and pass-through count, the dwell time for each zone is accumulated in real time to form the total dwell time, and the pass-through count is counted in real time to form the total pass-through count. Simultaneously, the dwell time and pass-through count data are dynamically updated to ensure that the data reflects the user's latest touch operations.
[0042] S203. Calculate the heat value of each zone based on the dwell time and number of passes, and classify the heat level of each zone according to the heat value.
[0043] In this embodiment, the heat value of each zone is calculated based on the obtained dwell time and number of visits, and the heat level is divided to realize the quantification and classification of user area interest.
[0044] Specifically, calculating the heat value requires first multiplying the total dwell time of each zone by 0.7 and the total number of passes by 0.3, then adding the two results together to obtain the heat value. For example, if the total dwell time in zone A is 40 seconds and the total number of passes is 6, then the heat value is (40 × 0.7) + (6 × 0.3) = 29.8. Subsequently, the heat level of each zone is classified based on these heat values.
[0045] Furthermore, when calculating the heat value, it is optimized by combining a decay coefficient and a category preference weighting. The decay coefficient is obtained based on the dwell time since the last visit. Using the decay coefficient to optimize the initial heat value can avoid interference from outdated behavioral data. The category preference weighting is obtained based on the user's historical click records. If the user has clicked on the category of the section, the weight is increased by 0.5; otherwise, the weight defaults to 1.0. Using this weighting to apply category preference weighting to the heat value can better align with the user's long-term interests.
[0046] In step S104 above, during the preloading process, it is necessary to determine the preloading priority based on the priority of each piece of content. Please refer to [link / reference]. Figure 3 , Figure 3 An embodiment of the preloading method provided in this application, which preloads content according to its priority, includes: S301. Determine the priority of each item in the virtual list based on browsing intent and heat level; In this embodiment, the user's current browsing intent is first obtained, the mode to which the browsing intent belongs is determined, and the heat level is determined by the partition to which each content belongs. Subsequently, by analyzing the browsing intent and combining it with the heat level, the priority of each content in the virtual list is determined to ensure that the priority matches the user's real-time behavior and regional interests. For example, if the analysis of the user's browsing intent shows that content A has the highest attention and the longest dwell time, then the corresponding content is set to the highest priority.
[0047] S302. If the priority is high, then preload the high-priority content completely and preload the corresponding high-resolution image. When content is determined to have high priority, the terminal's resource scheduler triggers a high-priority preloading process. Specifically, all associated data for the high-priority content is preloaded first, including complete text descriptions, associated titles, attachments, etc. Then, a high-resolution image request is initiated to obtain and load high-resolution image resources. During the preloading process, there is no delay; bandwidth and memory are prioritized, and a LRU caching strategy is used to store high-resolution images, ensuring that subsequent viewings do not require re-requesting.
[0048] It is important to note that before full preloading, the terminal will perform secondary verification on high-priority content, meaning that the content must meet the association condition of "browsing intent: the heat level corresponding to the browsing intent".
[0049] S303. If the priority is low, the content with low priority will be preloaded with a delay or simplified preload, and the corresponding thumbnail will be preloaded.
[0050] When content is determined to have a low priority, the terminal's resource scheduler triggers a low-priority preloading process. Specifically, the preloading tasks for low-priority content are placed in a low-priority queue, not immediately consuming bandwidth. Low-priority preloading only begins after high-priority preloading is complete and the queue is idle. Low-priority preloading refers to preloading only the core basic information of the content, such as the title or short tags, without preloading complete descriptions, associated attachments, or other non-core data. For images related to low-priority content, only thumbnails are preloaded; these thumbnails have a lower resolution than high-resolution images. This avoids page lag caused by loading too many resources, ensuring smooth loading of high-priority content and maintaining an overall browsing experience.
[0051] In step S301 above, the priority of each piece of content is determined based on browsing intent and heat level. Browsing intent includes fast scrolling, detailed browsing, and normal browsing; heat level includes hot zones, moderate zones, and cold zones. Please refer to [link / reference]. Figure 4 , Figure 4 One embodiment of the preloading method provided in this application for determining priority based on browsing intent and heat level includes: S401. When the browsing intent is to quickly scroll through the page, and / or the heat level is in the warm or cold zone, the corresponding content in the virtual list has a low priority. In this embodiment, the characteristic of the thermal level corresponding to the temperature zone is 30 ≤ thermal value < 75, and the characteristic of the thermal level corresponding to the cold zone is thermal value < 30.
[0052] Specifically, when the browsing intent is rapid scrolling, and / or the heat value is 30 ≤ heat value < 75 or heat value < 30, the corresponding content in the virtual list has low priority. For example, in a scenario where a user is browsing a shopping page and their browsing intent is rapid scrolling, even if the heat value for that heat level is 89, since 89 is not within the heat value range corresponding to the warm or cold zones, the priority is still low. This is because it indicates that the user tends to quickly skip content, or that the user has low long-term interest in the area where the content is located, so there is no need to assign high priority to avoid wasting resources.
[0053] In an optional embodiment, if the preset intent classifier identifies that the swiping speed is greater than a preset first swiping speed threshold and the swiping acceleration is greater than a preset swiping acceleration threshold, then the user's browsing intent is fast swiping browsing. In this embodiment, the preset first swipe speed threshold can be 2.5px / ms, and the preset swipe acceleration threshold can be 0.3px / ms². Therefore, if the preset intent classifier identifies a swipe speed > 2.5px / ms and a swipe acceleration > 0.3px / ms², it indicates that the user's browsing intent is fast swipe browsing.
[0054] In practical applications, the preset intent classifier simultaneously verifies both swipe speed and swipe acceleration. Specifically, it first checks if the current swipe speed is greater than 2.5px / ms, and then checks if the swipe acceleration is greater than 0.3px / ms². Only when both swipe speed and swipe acceleration are satisfied will the user's browsing intent be determined as fast swipe browsing. For example, if a user is quickly swiping upwards in a product list, with a swipe speed of 3px / ms and a swipe acceleration of 0.4px / ms², both speeds exceed the corresponding thresholds, and the preset intent classifier will determine that the user is currently engaging in fast swipe browsing.
[0055] Specifically, the sliding speed is expressed by the following formula: ; in, Indicates the sliding speed. Represents the first in the touch event stream Vertical coordinates of each sampling point Represents the first in the touch event stream -Vertical coordinates of 2 sampling points Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -2 timestamps for sampling points; Specifically, the sliding acceleration is expressed by the following formula: ; in, Indicates sliding acceleration. This represents the current velocity between sample points in the touch event stream. This represents the previous velocity between the current velocity and the previous velocity in the touch event stream. Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -1 timestamp of sampling points.
[0056] S402. When the browsing intent is detailed browsing and / or the heat level is a hot zone, the content corresponding to the virtual list has a high priority. In this embodiment, the characteristic of the thermal level corresponding to the hot zone is a thermal value ≥75.
[0057] Specifically, when the browsing intent is detailed browsing and / or the heat value is ≥75, the corresponding content in the virtual list has high priority. For example, in a scenario where a user is looking at a recipe, if the browsing intent is detailed browsing, even if the heat value of a recipe the user is looking at is 60, which is not within the heat value range corresponding to the heat zone, its priority is still high. Because users pay extremely high attention to content during detailed browsing, resources need to be allocated preferentially to ensure browsing smoothness and information integrity, regardless of whether either the browsing intent or the heat level condition is met.
[0058] In an optional embodiment, if the user's browsing intent is determined by the preset intent classifier to be that the swiping speed is less than a preset second swiping speed threshold and the absolute value of the swiping direction angle is less than a preset angle threshold, then the user's browsing intent is fine browsing. In this embodiment, the preset second swipe speed threshold can be 0.8px / ms, and the preset angle threshold can be 15°. Therefore, if the preset intent classifier identifies a swipe speed < 0.8px / ms and a swipe direction angle < 15°, it indicates that the user's browsing intent is fine browsing.
[0059] In practical applications, the preset intent classifier simultaneously verifies the swipe speed and swipe direction angle. Specifically, it first checks if the current swipe speed is less than 0.8 px / ms, and then checks if the absolute value of the swipe direction angle is less than 15°. Only when both the swipe speed and swipe direction angle meet the requirements will the user's browsing intent be determined as refined browsing. For example, if a user is slowly swiping to view recipe details, and the swipe speed is 0.6 px / ms and the absolute value of the swipe direction angle is 10°, both of which exceed the corresponding thresholds, then the preset intent classifier will determine that the user is currently engaged in refined browsing.
[0060] Specifically, the sliding direction deflection angle is expressed by the following formula: ; in, Indicates the deflection angle of the sliding direction. This represents the horizontal displacement of the last two sampling points in the touch event stream. This represents the vertical displacement of the last two sampling points in the touch event stream.
[0061] S403. When the browsing intent is normal browsing, the priority of each item in the virtual list is determined according to the preset default mechanism.
[0062] In this embodiment, when the browsing intent is normal browsing, a preset default mechanism is executed to determine the priority of each item in the virtual list. The preset default mechanism sets the priority of content corresponding to the "hot zone" (high heat level) to high, the priority of content corresponding to the "warm zone" (medium heat level) to medium, and the priority of content corresponding to the "cold zone" (low heat level) to low. For example, in a scenario where a user is browsing short videos, if the browsing intent is normal browsing and the heat level is "hot," then that content would have a high priority. This priority determination is because during normal browsing, user behavior has no obvious bias, and resource allocation can only be based on the heat level to balance user experience and resource consumption.
[0063] In an optional embodiment, if it is determined that the user's browsing intent is not a fast swipe or detailed browsing, then the user's browsing intent is determined to be normal browsing.
[0064] In this embodiment, when the preset intent classifier determines that the user's browsing intent is neither fast scrolling nor detailed browsing, the user's intent will be determined as normal browsing.
[0065] Specifically, the system first determines whether the current swipe speed is greater than 2.5px / ms and the swipe acceleration is greater than 0.3px / ms². Then, it determines whether the current swipe speed is less than 0.8px / ms and whether the absolute value of the swipe direction angle is less than 15°. Only when both conditions are negative will the user's browsing intent be classified as normal browsing. For example, if a user is watching short videos with a swipe speed of 1.5px / ms, a swipe acceleration of 0.2px / ms², and a swipe direction angle of 20°, which does not meet the thresholds for both fast swipe and fine browsing, the preset intent classifier will determine that the user is currently engaged in normal browsing.
[0066] In an optional embodiment, when the virtual list is scrolling, content that has been moved out of the visible area is reclaimed; after reclamation, network speed is monitored in real time, and when the network speed is lower than a preset network speed threshold, the high-definition image is dynamically updated to a thumbnail.
[0067] While scrolling through the virtual list, the coordinates of each item in the list are monitored in real time. When an item completely moves out of the visible area, its corresponding node is removed and temporarily stored in a node reuse pool for rapid rendering of subsequent new items entering the visible area. After node recycling is complete, the terminal continuously obtains the current network speed through a built-in network monitoring module and compares it with a preset network speed threshold. If the actual network speed is detected to be lower than the preset threshold, all high-resolution images already loaded and pending high-resolution image resource requests in the current list are replaced with lower-resolution thumbnails. Simultaneously, the high-resolution image data stored in the recycled nodes is cleaned up, retaining only the thumbnail association information. This approach adapts to different network scenarios, saving bandwidth while maintaining the continuity of the user's browsing experience.
[0068] The preloading system for the virtual list provided in this application is described in detail below. Please refer to [link / reference]. Figure 5 , Figure 5 One embodiment of the preloading system provided in this application includes: The recording unit 501 is used to listen to the touch event stream generated by the user's touch operation within the visible area of the virtual list, and record the coordinates and timestamps of multiple sampling points in the touch event stream; The calculation unit 502 is used to calculate the sliding feature vector based on the coordinates and timestamps of multiple sampling points. The sliding feature vector includes the sliding velocity, sliding acceleration, and sliding direction deflection angle. The recognition unit 503 is used to input the sliding feature vector into the preset intent classifier, and to identify the user's browsing intent through the preset intent classifier; The preloading unit 504 is used to determine the resource preloading strategy based on the browsing intent, and preload each item in the virtual list based on the resource preloading strategy.
[0069] Optionally, it also includes a partitioning unit 505, specifically used for: The visible area is divided into several zones according to a preset size; Acquire touch operations in each partition, including dwell time and number of traversals; The heat value of each zone is calculated based on the dwell time and number of passes, and the heat level of each zone is classified according to the heat value.
[0070] Optionally, the preloading unit 504 is specifically used for: The priority of each item in the virtual list is determined based on browsing intent and heat level; If the priority is high, then the content with high priority will be fully preloaded, and the corresponding high-resolution image will also be preloaded. If the priority is low, the content with low priority will be preloaded with a delayed or simplified preload, and the corresponding thumbnail will be preloaded.
[0071] Optional browsing intents include fast swiping, detailed browsing, and normal browsing; heat levels include hot zones, warm zones, and cold zones. The priority of each item in the virtual list is determined based on browsing intent and heat level, including: When the browsing intent is to quickly scroll through the page, and / or the heat level is in the warm or cold zone, the corresponding content in the virtual list has a low priority. When the browsing intent is detailed browsing and / or the heat level is a hot zone, the content corresponding to the virtual list has high priority; When the browsing intent is normal browsing, the priority of each item in the virtual list is determined according to the preset default mechanism.
[0072] Optionally, it also includes update unit 506, specifically used for: When the virtual list is scrolling, content that has been moved out of the visible area will be recycled; The system monitors network speed in real time, and dynamically updates the high-definition image to a thumbnail when the network speed falls below a preset threshold.
[0073] Optionally, the identification unit 503 is specifically used for: If the preset intent classifier identifies that the swiping speed is greater than a preset first swiping speed threshold and the swiping acceleration is greater than a preset swiping acceleration threshold, then the user's browsing intent is fast swiping browsing. If the preset intent classifier identifies that the swiping speed is less than a preset second swiping speed threshold and the absolute value of the swiping direction angle is less than a preset angle threshold, then the user's browsing intent is fine browsing. If the user's browsing intent is not identified as fast scrolling or detailed browsing, then the user's browsing intent is determined to be normal browsing.
[0074] Optionally, the sliding speed is expressed by the following formula: ; in, Indicates the sliding speed. Represents the first in the touch event stream Vertical coordinates of each sampling point Represents the first in the touch event stream -Vertical coordinates of 2 sampling points Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -2 timestamps for sampling points; Sliding acceleration is expressed by the following formula: ; in, Indicates sliding acceleration. This represents the current velocity between sample points in the touch event stream. This represents the previous velocity between the current velocity and the previous velocity in the touch event stream. Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -1 timestamp of sampling point; The sliding direction deflection angle is expressed by the following formula: ; in, Indicates the deflection angle of the sliding direction. This represents the horizontal displacement of the last two sampling points in the touch event stream. This represents the vertical displacement of the last two sampling points in the touch event stream.
[0075] For details on the implementation method, please refer to [link / reference]. Figures 1-4 Examples will not be described in detail here.
[0076] This application also provides a preloading device for virtual lists; please refer to [link / reference]. Figure 6 , Figure 6 One embodiment of the preloading device provided in this application includes: Processor 601, memory 602, input / output unit 603, bus 604; The processor 601 is connected to the memory 602, the input / output unit 603, and the bus 604; The memory 602 stores a program, and the processor 601 calls the program to execute any of the preload methods described above.
[0077] This application also relates to a computer-readable storage medium on which a program is stored, characterized in that, when the program is run on a computer, it causes the computer to perform any of the preloading methods described above.
[0078] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0079] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0080] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0081] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0082] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for preloading a virtual list, characterized in that, include: Monitor the touch event stream generated by the user's touch operation within the visible area of the virtual list, and record the coordinates and timestamps of multiple sampling points in the touch event stream; A sliding feature vector is calculated based on the coordinates and timestamps of the multiple sampling points. The sliding feature vector includes sliding velocity, sliding acceleration, and sliding direction deflection angle. The sliding feature vector is input into a preset intent classifier, and the user's browsing intent is identified by the preset intent classifier; A resource preloading strategy is determined based on the browsing intent, and each item in the virtual list is preloaded based on the resource preloading strategy.
2. The preloading method according to claim 1, characterized in that, After identifying the user's browsing intent through the preset intent classifier, the preloading method further includes: The visible area is divided into several partitions according to a preset size; Acquire touch operations in each of the partitions, the touch operations including dwell time and number of passes; The heat value of each zone is calculated based on the dwell time and the number of times it is passed through, and the heat level of each zone is classified according to the heat value.
3. The preloading method according to claim 2, characterized in that, The step of determining a resource preloading strategy based on the browsing intent, and preloading each item in the virtual list based on the resource preloading strategy, includes: The priority of each item in the virtual list is determined based on the browsing intent and the heat level; If the priority is high, then the content with the high priority will be fully preloaded, and the corresponding high-definition image will be preloaded. If the priority is low, the content with the low priority will be preloaded with a delay or simplified preload, and the corresponding thumbnail will be preloaded.
4. The preloading method according to claim 3, characterized in that, The browsing intent includes fast scrolling, detailed browsing, and normal browsing; the heat level includes hot zone, warm zone, and cold zone. Determining the priority of each item in the virtual list based on the browsing intent and the heat level includes: When the browsing intent is the fast swipe browsing, and / or the heat level is the warm zone or the cold zone, the priority of the content corresponding to the virtual list is low; When the browsing intent is detailed browsing and / or the heat level is the hot zone, the content corresponding to the virtual list has a high priority; When the browsing intent is normal browsing, the priority of each item in the virtual list is determined according to a preset default mechanism.
5. The preloading method according to claim 3, characterized in that, The preloading method further includes: When the virtual list is scrolling, content that has been moved out of the visible area will be recycled; The network speed is monitored in real time, and when the network speed is lower than a preset network speed threshold, the high-definition image is dynamically updated to the thumbnail.
6. The preloading method according to claim 4, characterized in that, Identifying the user's browsing intent through the preset intent classifier includes: If the preset intent classifier identifies that the swiping speed is greater than a preset first swiping speed threshold and the swiping acceleration is greater than a preset swiping acceleration threshold, then the user's browsing intent is fast swiping browsing. If the preset intent classifier identifies that the swiping speed is less than a preset second swiping speed threshold and the absolute value of the swiping direction angle is less than a preset angle threshold, then the user's browsing intent is fine browsing. If the user's browsing intent is not identified as either fast swiping or detailed browsing, then the user's browsing intent is determined to be normal browsing.
7. The preloading method according to any one of claims 1 to 6, characterized in that, The sliding speed is expressed by the following formula: ; in, This indicates the sliding speed. Represents the first in the touch event stream Vertical coordinates of each sampling point Represents the first in the touch event stream -Vertical coordinates of 2 sampling points Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -2 timestamps for sampling points; The sliding acceleration is expressed by the following formula: ; in, This represents the sliding acceleration. This indicates the current velocity between sampling points in the touch event stream. This indicates the previous velocity between the current velocity and the previous velocity in the sampling points of the touch event stream. Represents the first in the touch event stream The timestamp of each sampling point Represents the first in the touch event stream -1 timestamp of sampling point; The sliding direction deflection angle is expressed by the following formula: ; in, This indicates the deflection angle of the sliding direction. This represents the horizontal displacement of the last two sampling points in the touch event stream. This represents the vertical displacement of the last two sampling points in the touch event stream.
8. A preloading system for a virtual list, characterized in that, include: The recording unit is used to monitor the touch event stream generated by the user's touch operation within the visible area of the virtual list, and to record the coordinates and timestamps of multiple sampling points in the touch event stream; The calculation unit is used to calculate a sliding feature vector based on the coordinates and timestamps of the multiple sampling points. The sliding feature vector includes sliding velocity, sliding acceleration, and sliding direction deflection angle. The identification unit is used to input the sliding feature vector into a preset intent classifier, and identify the user's browsing intent through the preset intent classifier; The preloading unit is used to determine a resource preloading strategy based on the browsing intent, and preload each item in the virtual list based on the resource preloading strategy.
9. A preloading device for a virtual list, characterized in that, include: Processor, memory, input / output units, and bus; The processor is connected to the memory, the input / output unit, and the bus; The memory stores a program, which the processor invokes to execute the preloading method as described in any one of claims 1 to 7.
10. A computer-readable storage medium having a program stored thereon, the program performing the preloading method as described in any one of claims 1 to 7 when executed on a computer.