好的,所以我想从 LinearView 获取项目并获得它们的可见性,这样我就可以释放隐藏项目的内存。
有可能这样做吗?你还有其他建议吗?
所以基本上,我想显示从 URL 动态下载的图像流,我希望它们在 ListView 中,这样人们就可以滚动它们,但是如果我们只是使用像这样的普通构建器加载 ListView,
ListView lvb = new ListView.builder(
cacheExtent: 1.0,
itemBuilder: (BuildContext context, int index) {
return new ImageView(MyApp.imageLinks.values.elementAt(index));
},
);
Run Code Online (Sandbox Code Playgroud)
它会一次下载所有项目,设备会耗尽内存。所以我想我只是释放图像占用的内存,然后允许用户加载更多图像而不必担心内存。
此外,我希望一次只加载 5 张图像,因此将显示 1 张,上方 2 张和下方 2 张,以便更快、更流畅地滚动。
我的问题:
编辑:承诺的 ImageView 类
class ImageView extends StatelessWidget {
String url;
ImageView([String url]) {
if (url != null) {
this.url = url;
}
print("New image");
}
@override
Widget build(BuildContext context) {
FractionallySizedBox fsb;
if (url != null) …Run Code Online (Sandbox Code Playgroud)