public interface 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.
Properties
isNonScrollCachingEnabled
public val isNonScrollCachingEnabled: Boolean
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.
Functions
calculateAheadWindow
public 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 | The size of the viewport in this Lazy Layout in pixels. |
calculateBehindWindow
public 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 | The size of the viewport in this Lazy Layout in pixels. |