Fix: Precaching images

This commit is contained in:
2024-05-31 15:29:35 +03:00
parent cfa6ef9a67
commit 97664fdb5a

View File

@@ -84,6 +84,11 @@ class _MainPageState extends State<MainPage> {
filteredData = value;
items = value;
itemViewCount = min(5, value.length);
WidgetsBinding.instance.addPostFrameCallback((_) {
for (var element in filteredData.sublist(0, itemViewCount)) {
precacheImage(NetworkImage(element.images[0].url), context);
}
});
}));
}
@@ -112,7 +117,12 @@ class _MainPageState extends State<MainPage> {
filteredData = items
.where((element) => (element.title).contains(searchText))
.toList();
itemViewCount = filteredData.length;
itemViewCount = min(filteredData.length, itemViewCount);
});
WidgetsBinding.instance.addPostFrameCallback((_) {
for (var element in filteredData.sublist(0, itemViewCount)) {
precacheImage(NetworkImage(element.images[0].url), context);
}
});
}
@@ -215,11 +225,12 @@ class _MainPageState extends State<MainPage> {
shrinkWrap: true,
gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: min(
(MediaQuery.sizeOf(context).width ~/ 200)
.toInt(),
8),
),
crossAxisCount: min(
(MediaQuery.sizeOf(context).width ~/
200)
.toInt(),
8),
childAspectRatio: 1.0),
itemCount: itemViewCount,
itemBuilder: (context, index) {
final product = filteredData[index];