Mobile ListView Data Fetching via Segmentation and Preloading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile devices with limited memory, CPU capacity, and storage struggle to efficiently fetch and display large datasets, leading to slow response times and UI delays, especially when handling hybrid datasets with textual and multimedia data.
Innovation Solution
The system dynamically fetches and displays subsets of large datasets by loading only visible data and binding it to UI elements, with additional pages fetched based on user navigation, using a 'scroll ahead' and 'scroll behind' mechanism to create a seamless browsing experience without storing the entire dataset locally.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the entire large dataset is fetched and stored locally on the mobile device, then data display completeness is improved, but memory capacity and storage capacity are exceeded
Solution Approach 1:
The patent divides the large dataset into multiple pages, where each page contains a subset of data records. Only the currently visible page is fetched and displayed on the mobile device, while other pages remain on the server. This segmentation allows the system to display large datasets without loading them all into memory simultaneously, resolving the contradiction between data completeness and memory capacity constraints.
2Weight of moving object
If data is fetched just in time as the user navigates, then memory usage is reduced, but UI response time deteriorates
Solution Approach 1:
The patent implements a pre-fetching mechanism that anticipates user navigation and fetches data pages before they are actually needed. When a user is viewing a particular page, the system proactively fetches the next page (and potentially subsequent pages) in the background. This preliminary action ensures that when the user navigates to the next page, the data is already available, maintaining fast UI response times while still managing memory usage efficiently by only having a limited number of pages in memory at once.
3Quantity of substance
If hybrid datasets with multimedia data are fetched, then data content richness is improved, but network bandwidth consumption increases
Solution Approach 1:
The patent applies local quality by fetching different types of data with different levels of detail or completeness based on their location in the dataset and their importance. For example, text data may be fetched in full while multimedia data is fetched at lower resolution or deferred until actually needed. This allows the system to provide rich data content while optimizing network bandwidth consumption by not uniformly fetching all data at maximum quality.
4Reliability
If the dataset is synchronized to the mobile device, then data availability is improved, but storage capacity is exceeded
Solution Approach 1:
The patent extracts only the essential data needed for display from the complete dataset stored on the server. Instead of synchronizing the entire dataset to the mobile device's local storage, the system maintains a lightweight local cache that stores only the currently visible page and perhaps a few adjacent pages. The majority of the dataset remains on the server, extracted and fetched on-demand as needed. This approach maintains data availability for display while avoiding storage capacity constraints on the mobile device.
Data Source
AI summary
A system, method, and computer program product are provided for efficiently fetching and displaying large datasets on mobile devices, such as devices running the iPhone™ operating system. The method fetches data for a mobile device from a server and displays a plurality of data rows in a ListView within a user interface on the mobile device. The method stores primary keys on the mobile device until their corresponding data rows are to be displayed. The method reacts to user inputs such as scrolling actions and touch screen gestures to efficiently fetch and display list view subsets of large datasets. The method facilitates quick response times when navigating through large lists of data on a mobile device by: fetching displayable or visible rows of data in a data list view, preloading the visible rows on the mobile device; and binding the visible rows to user interface elements on the mobile device.


