Dynamic memory estimations for memory bounded applications
First Claim
1. A computer-implemented method comprising:
- determining an available memory threshold associated with a device on which digital content is to be pre-cached in memory;
displaying a central content set to a user, wherein the central content set is one of a plurality of content sets that, collectively, define a digital asset;
identifying a first subset of the plurality of content sets that, when pre-cached in memory on the device, consume a first quantity of memory, wherein the first quantity of memory is less than the available memory threshold;
pre-caching the first subset of the plurality of content sets in memory on the device;
detecting that the available memory threshold has been modified, wherein the available memory threshold is modified in response to interaction by the user to display a portion of the digital asset different from the central content set;
in response to detecting that the available memory threshold has been modified, identifying a second subset of the plurality of content sets that, when pre-cached in memory on the device, will consume a second quantity of memory, wherein the second quantity of memory is less than the modified available memory threshold; and
pre-caching the second subset of the plurality of content sets in memory on the device.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for improving application responsiveness, and particularly applications used to present rich media content, by precaching nearby but not-yet-displayed content, so that content can be immediately ready to display. A precache window can be used to determine what undisplayed content is precached, in accordance with an embodiment. The size of the precache window, and hence the amount of content that can be precached for later display, is dynamic in nature and is determined based on a number of variables, such as the distance of the content from being visible and the estimated memory consumption of the content. In addition, the dynamic precache window can be recalculated in real-time in response to events and/or as the user interacts with the content in a way that causes a significant enough change to warrant a new memory limit estimate be performed. Out-of-memory errors may be handled by reducing precache window.
10 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
determining an available memory threshold associated with a device on which digital content is to be pre-cached in memory; displaying a central content set to a user, wherein the central content set is one of a plurality of content sets that, collectively, define a digital asset; identifying a first subset of the plurality of content sets that, when pre-cached in memory on the device, consume a first quantity of memory, wherein the first quantity of memory is less than the available memory threshold; pre-caching the first subset of the plurality of content sets in memory on the device; detecting that the available memory threshold has been modified, wherein the available memory threshold is modified in response to interaction by the user to display a portion of the digital asset different from the central content set; in response to detecting that the available memory threshold has been modified, identifying a second subset of the plurality of content sets that, when pre-cached in memory on the device, will consume a second quantity of memory, wherein the second quantity of memory is less than the modified available memory threshold; and pre-caching the second subset of the plurality of content sets in memory on the device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable medium having instructions encoded thereon that, when executed by one or more processors, cause a memory management process to be carried out, the memory management process comprising:
-
determining an available memory threshold associated with a device on which digital content is to be pre-cached in memory; displaying a central content set to a user, wherein the central content set is one of a plurality of content sets that, collectively, define a digital asset; identifying a first subset of the plurality of content sets that, when pre-cached in memory on the device, consume a first quantity of memory, wherein the first quantity of memory is less than the available memory threshold; pre-caching the first subset of the plurality of content sets in memory on the device; modifying the available memory threshold in response to interaction by the user to display a portion of the digital asset different from the central content set; detecting that the available memory threshold has been modified; in response to detecting that the available memory threshold has been modified, identifying a second subset of the plurality of content sets that, when pre-cached in memory on the device, will consume a second quantity of memory, wherein the second quantity of memory is less than the modified available memory threshold; and pre-caching the second subset of the plurality of content sets in memory on the device. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computing device comprising:
-
a processor; a display device that is operatively coupled to the processor and that is capable of presenting a digital asset that comprises a plurality of content sets; a memory device that is operatively coupled to the processor and that is capable of pre-caching at least one of the content sets that comprise the digital asset; and a dynamic pre-caching module that, when executed by the processor, is configured to; determine an available memory threshold associated with the memory device, render a central content set for a user on the display device, wherein the central content set is one of the plurality of content sets that comprise the digital asset, identify a first subset of the plurality of content sets that, when pre-cached in the memory device, consume a first quantity of memory in the memory device that is less than the available memory threshold, pre-cache the first subset of the plurality of content sets in the memory device, detect that the available memory threshold has changed, wherein the available memory threshold is changed in response to interaction by the user to render a portion of the digital asset different from the central content set, in response to detecting that the available memory threshold has changed, identify a second subset of the plurality of content sets that, when pre-cached in the memory device, will consume a second quantity of memory in the memory device that is less than the modified available memory threshold, and pre-cache the second subset of the plurality of content sets in the memory device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification