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; filteredData = value;
items = value; items = value;
itemViewCount = min(5, value.length); 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 filteredData = items
.where((element) => (element.title).contains(searchText)) .where((element) => (element.title).contains(searchText))
.toList(); .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, shrinkWrap: true,
gridDelegate: gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount( SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: min( crossAxisCount: min(
(MediaQuery.sizeOf(context).width ~/ 200) (MediaQuery.sizeOf(context).width ~/
.toInt(), 200)
8), .toInt(),
), 8),
childAspectRatio: 1.0),
itemCount: itemViewCount, itemCount: itemViewCount,
itemBuilder: (context, index) { itemBuilder: (context, index) {
final product = filteredData[index]; final product = filteredData[index];