LazyLayoutCacheWindow


Represents an out of viewport area of a Lazy Layout where items should be cached. Items will be prepared in the Lazy Layout Cache Window area in advance to improve scroll performance.

Summary

Public functions

open Int

Calculates the prefetch window area in pixels for prefetching on the scroll direction, "ahead window".

Cmn
open Int

Calculates the window area in pixels for keeping items in the scroll counter direction, "behind window".

Cmn

Public properties

open Boolean

Determines whether the cache window populates after a non-scroll related trigger.

Cmn

Public functions

Density.calculateAheadWindow

open fun Density.calculateAheadWindow(viewport: Int): Int

Calculates the prefetch window area in pixels for prefetching on the scroll direction, "ahead window". The prefetch window strategy will prepare items in the ahead area in advance so they are ready to be used when they become visible.

Parameters
viewport: Int

The size of the viewport in this Lazy Layout in pixels.

Density.calculateBehindWindow

open fun Density.calculateBehindWindow(viewport: Int): Int

Calculates the window area in pixels for keeping items in the scroll counter direction, "behind window". Items in the behind window will not be disposed and can be accessed more quickly if they become visible again.

Parameters
viewport: Int

The size of the viewport in this Lazy Layout in pixels.

Public properties

isNonScrollCachingEnabled

open val isNonScrollCachingEnabledBoolean

Determines whether the cache window populates after a non-scroll related trigger. When set to true, the cache window will use non-scroll triggers to start the caching process. For example, if layout data changes and causes a cache purge, the ahead window will be refilled while the layout remains idle. Other common scenarios in which the ahead window fills include initial composition and item reordering, during which the layout is in a non-scroll state, providing the opportunity to populate the window.