我想讨论我在 flutter 应用程序中遇到的问题。该应用程序是一款社交电子商务应用程序,其布局类似于 Facebook 或 Instagram。我正在使用 10 个帖子的分页,每个帖子最多包含 4 个图像,就像网格视图一样。当我滚动到 5-8 页时,由于渲染大量图像,应用程序崩溃。
我尝试了很多解决方案,但没有解决这个问题。以下是我迄今为止尝试过的一些解决方案的列表。
尝试了cached_network_image插件。应用程序在滚动最多 50-60 个帖子或估计最多 200 个图像时崩溃。
尝试了optimized_cached_image。崩溃率被最小化了一点,我能够滚动最多 250-300 张图像,然后应用程序再次崩溃。
尝试了 FadeInImage.network 和 FadeInImage.memoery 小部件,但当滚动到 100 张图像时应用程序也会崩溃。
将图像下载到本地目录,然后尝试使用 Image.memory 和 Image.file 小部件显示图像。但这个解决方案也不起作用。
你能建议我任何解决方案来解决这个问题吗
我已经建立了一个Listview
与ExpansionTile
. 但现在我希望,如果我点击一个ExpansionTile
,那么只有那个ExpansionTile
应该打开,其他扩展ExpansionTile
应该关闭。
请帮助我如何实现这一目标?
这是我的代码ExpansionTile
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Short Product"),
),
body: ListView.builder(
itemCount: Category_List.length,
itemBuilder: (context, i) {
return ExpansionTile(
title: Text(Category_List[i].cat_name),
children:_Product_ExpandAble_List_Builder(Category_List[i].cat_id)
);
},
)
);
}
_Product_ExpandAble_List_Builder(int cat_id) {
List<Widget> columnContent = [];
Product_List.forEach((product) => {
columnContent.add(
ListTile(
title: ExpansionTile(
title: Text(product.prod_name),
),
trailing: Text("${product.total_Qty} (Kg)"),
),
),
});
return columnContent;
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢。