Firebase 带有网络照片的页面需要很长时间才能加载颤振

Firebase 带有网络照片的页面需要很长时间才能加载颤振,firebase,flutter,dart,Firebase,Flutter,Dart,我有一个带有3张图片的页面(详情如下)。此页面需要花费大量时间(超过5秒)才能加载。 我查看了颤振剖面模式。我看到当这些照片加载时,内存堆会随之增加 这是密码 class AppHome extends StatefulWidget { @override _AppHomeState createState() => _AppHomeState(); } var slider1; var slider2; var slider3; Firestore _db = Firest

我有一个带有3张图片的页面(详情如下)。此页面需要花费大量时间(超过5秒)才能加载。 我查看了颤振剖面模式。我看到当这些照片加载时,内存堆会随之增加

这是密码

  class AppHome extends StatefulWidget {
  @override
  _AppHomeState createState() => _AppHomeState();
}

var slider1;
var slider2;
var slider3;
Firestore _db = Firestore.instance;
bool carouselloaded = false;
MediaQueryData queryData;

class _AppHomeState extends State<AppHome> {
  @override
  void initState() {
    super.initState();
    getCarouselImages();
  }

  StorageReference _reference = FirebaseStorage.instance.ref();
  List carouselImages = new List(3);
  List<DocumentSnapshot> posts;

  var emptyimage = Image.asset("assets/Carousel/slider1.jpg");
  void getCarouselImages() async {
    try {
      QuerySnapshot snap = await _db
          .collection("carouselimage")
          .orderBy("productid")
          .getDocuments();
      setState(() {
        posts = snap.documents;
      });
    } catch (e) {
      print(e);
    }

    slider1 = Image(
      image: NetworkImage(posts[0].data["url"]),
    );
    print(posts[0].data["url"]);
    slider2 = Image(
      image: NetworkImage(posts[1].data["url"]),
    );
    slider3 = Image(
      image: NetworkImage(posts[2].data["url"]),
    );
    carouselloaded = true;
  }

  
  @override
  Widget build(BuildContext context) {
    if (true) {
      queryData = MediaQuery.of(context);
      sleep(const Duration(seconds: 5));
      return Scaffold(
        body: Column(
          children: [
            SizedBox(
              height: 0,
            ),

////Here it is
            CarouselSlider.builder(
              options: CarouselOptions(autoPlay: true),
              itemCount: 3,
              itemBuilder: (BuildContext context, int itemIndex) => Container(
                child: itemIndex == 0
                    ? slider1
                    : itemIndex == 1 ? slider2 : slider3,
              ),
            ),
   
          ],
        ),
      );
    } else {
      return Text("Loading");
    }
  }
}
class AppHome扩展StatefulWidget{
@凌驾
_AppHomeState createState()=>\u AppHomeState();
}
var滑块1;
var滑块2;
var滑块3;
Firestore _db=Firestore.instance;
bool carouselloaded=假;
中间栎叶栎;
类_AppHomeState扩展状态{
@凌驾
void initState(){
super.initState();
getCarouselImages();
}
StorageReference_reference=FirebaseStorage.instance.ref();
列表转盘图像=新列表(3);
列出员额;
var emptyimage=Image.asset(“assets/Carousel/slider1.jpg”);
void getCarouselImages()异步{
试一试{
QuerySnapshot快照=等待_db
.收藏(“旋转木马”)
.orderBy(“产品ID”)
.getDocuments();
设置状态(){
posts=snap.documents;
});
}捕获(e){
印刷品(e);
}
滑块1=图像(
图像:NetworkImage(发布[0]。数据[“url”]),
);
打印(发布[0]。数据[“url]”);
滑块2=图像(
图像:NetworkImage(发布[1]。数据[“url”]),
);
滑块3=图像(
图像:NetworkImage(发布[2]。数据[“url”]),
);
carouselloaded=true;
}
@凌驾
小部件构建(构建上下文){
如果(真){
queryData=MediaQuery.of(上下文);
睡眠(持续时间(秒:5));
返回脚手架(
正文:专栏(
儿童:[
大小盒子(
高度:0,,
),
////给你
旋转滑翔机(
选项:旋转木马选项(自动播放:true),
物品计数:3,
itemBuilder:(BuildContext上下文,int itemIndex)=>容器(
子项:itemIndex==0
?滑块1
:itemIndex==1?滑块2:滑块3,
),
),
],
),
);
}否则{
返回文本(“加载”);
}
}
}
图像详细信息:

  • 图像1=76kb(1170 X 619)像素

  • 图像2=40kb(1170 X 619)像素

  • 图3=20kb(868 X 440)像素

图像位于firestore数据库中。 问题出在哪里