Desaprobados cacheExtent y cacheExtentStyle
Las propiedades cacheExtent y cacheExtentStyle están depreciadas. Son reemplazadas por scrollCacheExtent con un objeto ScrollCacheExtent.
Resumen
#Flutter 3.44 depreca cacheExtent y cacheExtentStyle
en widgets relacionados con el desplazamiento (scrolling), como
ListView, GridView, CustomScrollView y Viewport,
y sus correspondientes render objects, como RenderViewport.
La nueva propiedad scrollCacheExtent encapsula
tanto el valor como la estrategia de caché (píxeles o viewport).
Contexto
#Anteriormente, cacheExtent era un double y
cacheExtentStyle determinaba cómo se interpretaba ese double
(ya sea como píxeles o como una fracción del viewport).
Esta división hacía que la configuración fuera más difícil de entender.
La nueva propiedad scrollCacheExtent usa un objeto ScrollCacheExtent que
encapsula explícitamente tanto el valor como
la estrategia de caché (píxeles o viewport),
lo que proporciona seguridad de tipos y una intención más clara.
Guía de migración
#Capa de widgets
#cacheExtent (píxeles)
#
Si tu código usa cacheExtent,
que por defecto es píxeles,
usa scrollCacheExtent con ScrollCacheExtent.pixels.
Before:
ListView(
cacheExtent: 500.0,
children: // ...
)
After:
ListView(
scrollCacheExtent: const ScrollCacheExtent.pixels(500.0),
children: // ...
)
cacheExtentStyle (viewport)
#
Si tu código usa cacheExtent con CacheExtentStyle.viewport,
lo cual es común en Viewport,
usa scrollCacheExtent con ScrollCacheExtent.viewport.
Before:
Viewport(
cacheExtent: 0.5,
cacheExtentStyle: CacheExtentStyle.viewport,
slivers: // ...
)
After:
Viewport(
scrollCacheExtent: const ScrollCacheExtent.viewport(0.5),
slivers: // ...
)
Capa de render objects
#Si tu código establece propiedades manualmente en
RenderViewport o un render object similar,
usa scrollCacheExtent.
Before:
renderViewport.cacheExtent = 500.0;
renderViewport.cacheExtentStyle = CacheExtentStyle.pixel;
After:
renderViewport.scrollCacheExtent = const ScrollCacheExtent.pixels(500.0);
Timeline
#Introducido en la versión: 3.41.0-0.0.pre
En el lanzamiento estable: 3.44
Referencias
#Documentación de la API:
PRs relevantes:
A menos que se indique lo contrario, la documentación en este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 20-05-2026. Ver código fuente oreportar un problema.