Patent ID: 8261205

Claim:
A non-transitory computer-readable medium that stores instructions that when executed by one or more processors, cause the one or more processors to perform operations comprising: identifying a current scroll position in a list of thumbnail items; performing a normal loading operation to load at least some of the thumbnail items into a memory, including (i) loading one or more thumbnail items associated with the current scroll position, (ii) continuously loading additional thumbnail items for both sides of the current scroll position in order of their displayed proximity to the current scroll position, so that thumbnail items that are to be displayed closest to the current scroll position are loaded first and thumbnail items that are to be displayed furthest from the current scroll position are loaded last, and (iii) while continuously loading, periodically determining whether an amount of memory that is available is below a threshold; in response to determining that the amount of memory that is available is below the threshold, terminating the normal loading operation and performing a low-memory loading operation, the low-memory operation including (i) continuously loading additional thumbnail items for both sides of the current scroll position while removing one or more loaded thumbnail items from the memory that are displayed furthest from the current scroll position, (ii) in response to receiving user input to change the current scroll position, removing loaded thumbnail images that are displayed furthest from the changed current scroll position while loading additional thumbnail items for both sides of the changed current scroll position; and displaying at least some of the thumbnail items as they are loaded into the memory.