滑动ListView时出现卡顿现象。

4
我不知道问题是出在我的代码还是ListView上。请查看我最终(已编辑)的代码在这里
我正在使用分页功能,当我到达最后一页并滑动ListView时,滚动会变得卡顿。我认为问题可能出在这一行代码上。
    leading: CircleAvatar(backgroundImage: NetworkImage(arrayOfProducts[index]['thumbnail'] ?? "")),

NetworkImage可能需要一些时间来加载图像。我不确定,但我认为这是导致延迟的原因。因此,我添加了新的包cached_network_image并更改了我的代码:

    leading: CircleAvatar(child: CachedNetworkImage(
                      imageUrl: arrayOfProducts[index]['thumbnail'] ?? "",
                      placeholder: new CircularProgressIndicator(),
                      errorWidget: new Icon(Icons.error),
                    )),

但仍然存在卡顿问题,而且在滚动时之前的图片现在被隐藏了。


我更关心_callAPIToGetListOfData()方法被调用的次数? 你能否在此方法的开头添加此行代码:print("Network call initiated"); 然后开始滚动,看起来每次滚动都会调用setState。这可以解释为什么在滚动时之前加载的图片会消失。 - Saed Nabil
@SaedNabil - 只有在满足以下条件时才会调用(controller.position.extentAfter <= 0 && isPageLoading == false),还有 arrayOfProducts.length < totalRecord - Govaadiyo
但是还有其他条件,不仅仅是controller.position.extentAfter <= 0。非常确定并且已经调试过的代码。_callAPIToGetListOfData只被调用一次。 - Govaadiyo
我无法重现问题,因为我无法访问您在POST请求中提供的URL、accessToken和paramDic。如果您愿意提供这些信息,那就太好了。 - Saed Nabil
请检查您的ListView属性,尝试将addAutomaticKeepAlives设置为true并将cacheExtent设置为更大的值。 - Niraj Niroula
显示剩余3条评论
1个回答

2

在使用图片时,Flutter目前存在已知问题:问题链接

最初的回答:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接