Flutter 在列表中加载时如何处理大型数组?

Flutter 在列表中加载时如何处理大型数组?,flutter,dart,Flutter,Dart,你好朋友告诉我如何处理应用程序中的大数组我有9种不同类型的数组列表每个列表中有22个单词是声音和图像。图像存储在资产文件夹中大小仅为1.5 mb,声音来自firebase云存储问题是,当应用程序加载时,它会降低我的应用程序性能。请告诉我如何在运行时优化它给我看看 I/Choreographer(25037): Skipped 107 frames! The application may be doing too much work on its main thread. I/Choreogr

你好朋友告诉我如何处理应用程序中的大数组我有9种不同类型的数组列表每个列表中有22个单词是声音和图像。图像存储在资产文件夹中大小仅为1.5 mb,声音来自firebase云存储问题是,当应用程序加载时,它会降低我的应用程序性能。请告诉我如何在运行时优化它给我看看

I/Choreographer(25037): Skipped 107 frames!  The application may be doing too much work on its main thread.
I/Choreographer(25037): Skipped 3 frames!  The application may be doing too much work on its main thread.
I/Choreographer(25037): Skipped 8 frames!  The application may be doing too much work on its main thread.
I/Choreographer(25037): Skipped 6 frames!  The application may be doing too much work on its main thread.
I/Choreographer(25037): Skipped 3 frames!  The application may be doing too much work on its main thread.
但我需要优化它,这是我的数组代码

import 'package:flutter/material.dart';
import 'package:hebrew/Deteilpage.dart';
import 'package:google_fonts/google_fonts.dart';
void main() => runApp(MyApp()
);

class MyApp extends StatelessWidget {


  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {

    return MaterialApp(
      debugShowCheckedModeBanner:false,
      theme: ThemeData(
        appBarTheme: AppBarTheme(color: Colors.green),
        primarySwatch: Colors.purple,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
   var  hebrewword=['א','בּ','ג','ד','ה','ו','ז','ח','ט','י ','כּ','ל','מ','נ','ס ','ע','פּ','צ','ק','ר','שׁ','ת'];
   var imagelist=['images/a.jpg','images/b.jpg','images/c.jpg','images/d.jpg','images/e.jpg','images/f.jpg','images/g.jpg','images/h.png',
   'images/i.jpg','images/j.jpg','images/k.jpg','images/l.jpg','images/m.jpg','images/n.jpg','images/o.jpg','images/p.jpg','images/q.jpg',
   'images/r.png','images/s.png',
   'images/t.jpg','images/u.jpg','images/v.jpg'];
    var romanurduword=['Aleph','Beit','Gimel','Dalet','Hey','Vav','Zayin','Khet','Tet','Yod','Kaf','Lamed',
   'Mem','Nun','Samekh','Ayin','Peh','Tsade','Qof','Resh','Shin','Tav'];
    var englishword=[
      'Alpeh is for A-BA(Father)',
      'Beith is for Bah-yeet (House)',
      'Gimel is for Glida (Ice-cream)',
      'Dalet is for delet ( Door )',
      'Hey is for Ha.le.lu.Ya (worship)',
      'Vav is for Vanil (Vanilla)',
      'Zayin for Zebra',
      'Khet is for Cho desh (month)',
      'Tet is for Tallith (Prayer Shawl)',
      'Yod is for Yada & im',
'Kaf is for KEH-lehv (Dog)',
      'Lamed for lechem(bread)',
      'Mem is for MAH-goh',
      'Nun is for Ner ( lamp)',
      'Samekh is for Sus ( Horse)',
      'Ayin is for etz ( tree)',
      'Peh is for Perakh ( Bud)',
      'Tsade is for tzitzit',
      'Qof is for Qaseth ( Bow & arrow )',
      'Resh is for ROHSH (Head)',
      'Shin is for Shofar',
      'Tav is for torah'

    ];
var hebrewprounce=['אלֶף ','בּית','גָימֵל','דָּלֶת','הֵא','וָו','זַיִן','חֵת','טֵית','יוֹד','כַּף',
'לָמֶד','מֵם','נוּן','סָמֶך','עַיִן','פֵּא','צַרִי','קוֹף','רֵישׁ','שִׁין','תָיו'];

var audio=['aleph.mp3','beth.mpeg','gimel.mpeg','dalet.mpeg','hey.mpeg','vav.mpeg',
  'zayin.mpeg','khet.mpeg','tet.mpeg','yod.mpeg','kaf.mpeg','lamed.mpeg','mem.mpeg',
  'nun.mpeg','samekh.mpeg','ayin.mpeg','peh.mpeg','psade.mpeg','qof.mpeg','resh.mpeg','shin.mpeg','tav.mpeg'
];

var hebrewexplain=[

  'אַבָּא','בָּיִת','גֶּלִידָה',' דֶּלֶת ','הַלְלוּ-יָהּ','ןנִיל','זֶבְּרָה',' חוֹדֶּשׁ','טַלִּית','  יָדָיִים',' כֶּלֶב ','לֶחֶם','מַנְגּוֹ','נֵר','סוּס','עֵץ','פֶּרַח','צִיצִת','קָשֶׁת','ראֹשׁ','שׁוֹפָר','תּוֹרָה'];


var urdu=['آلیف','بیت ','گیمیل','دایت','ہے', 'و ','زائن','خیت','طیت','یود','کاف','لامیدھ','میم','نُون','سامیخ ','عائن','پے','صادی ','قوف','ریش ','شین ','تاؤ'];

var urdumeaning=['آلیف سے ابا(باپ)','بیت سے بایت(گھر)','گمیل سے گلیدہ(آئس کریم)','دایت سے دالیت(دروازہ)','ہے سے ہالیلویاہ(حمد و ثنا)','و سے ونیل(ونیلا)',
'زائن سے زیبرا(زیبرا)','خیت سے خوہدش(مہینہ)','طیت سے طالیت(دعا ئیہ پوشاک)','یود سے یادیم(ہاتھوں)','کاف سے کیلیو(کتا)','لامید سے لخییم(روٹی)','میم سے مینگواہ(آم)',
  'نُون سے نَیر(چراغ)',
  'سامیخ سے ثوث(گھوڑا)','عائن سے ایص(درخت)','پے سے پیرخ(کلی)','صادی سے صیعیت(جھالر)','قوف سے قاشیت(کمان)','ریش سے روشش(سر)','شین سے شوفار(نرسنگا)',
  'تاؤ سے توراہ(توریت)'
];

var urduword=['اردو  مماثل:ا','اردو  مماثل:ب','اردو  مماثل:گ','اردو  مماثل:د','اردو  مماثل:ہ','اردو  مماثل:و','اردو  مماثل:ز',
'اردو  مماثل:خ','اردو  مماثل:ط','اردو  مماثل:ی','اردو  مماثل:ک','اردو  مماثل:ل','اردو  مماثل:م','اردو  مماثل:ن','اردو  مماثل:س /ص',
  'اردو  مماثل:ع','اردو  مماثل:پ','اردو  مماثل:ص','اردو  مماثل:ق','اردو  مماثل:ر','اردو  مماثل: ش','اردو  مماثل:ت'
];
   @override
  Widget build(BuildContext context) {

    return new Scaffold(
      appBar: AppBar(
        title: Text('Hebrew Learning'),
      ),
      body: new ListView.builder(
        itemCount: hebrewword.length,

        itemBuilder: (context, i) {
          return  GestureDetector(
            onTap: (){
              Navigator.push(context, MaterialPageRoute(builder: (context) => DetailPage(hebrewword[i],imagelist[i],englishword[i],audio[i],urdumeaning[i],urduword[i],romanurduword[i],urdu[i])));
            },
            child: Container(

              child: Card(
//                color: Colors.blue,

                child: Row(
                  children: <Widget>[
                    GestureDetector(
                      onTap: () {
                        Navigator.push(context, MaterialPageRoute(builder: (context) => DetailPage(hebrewword[i],imagelist[i],englishword[i],audio[i],urdumeaning[i],urduword[i],romanurduword[i],urdu[i])));
                      },
                      child: Container(

                        child: Column(
                          children: [
                            Directionality(
                              textDirection: TextDirection.rtl,
                              child: Text(hebrewword[i],style:GoogleFonts.davidLibre(
                                fontSize: 40,

                              ),),
                            ),
                          Image.asset(imagelist[i],height: 100,width: 80,),

                            Text(englishword[i],style: TextStyle(

                              fontSize: 14,
                              fontWeight: FontWeight.bold,
                            ),),
                            Text('',style: TextStyle(
                              fontSize: 14,
                              color: Colors.red,
                              fontWeight: FontWeight.bold,
                            ),),
                          ],
                        ),



                      ),
                    ),
                    Flexible(
                      child: Container(
                          padding: EdgeInsets.fromLTRB(5.0, 0.0, 0.0, 0.0),
                          child: Column(
                            children: [
                              Row(
                                children: [
                                  Text(
                                    romanurduword[i],style: TextStyle(
                                    fontSize: 18,
                                    fontWeight: FontWeight.bold,
                                  )
                                  ),
                                  Text(' / '+
                                      urdu[i],style:GoogleFonts.notoSerif (
                                    fontSize: 18,
                                    fontWeight: FontWeight.bold,

                                  )
                                  ),
                                ],
                              ),


                              Directionality(
                                textDirection: TextDirection.rtl,
                                child: Text(
                                    hebrewprounce[i],style:GoogleFonts.davidLibre(
                                  fontSize: 26,

                                )
                                ),
                              ),


                              Text(urduword[i],style:GoogleFonts.notoSerif (
                                fontSize: 18,
                                fontWeight: FontWeight.bold,

                              )
                              )
                              ,
                              SizedBox(height: 20,),
                              Directionality(
                                textDirection: TextDirection.rtl,
                                child: Text(
                                    hebrewexplain[i],style:GoogleFonts.davidLibre(
                                  fontSize: 20,

                                )
                                ),
                              ),

                              Directionality(
                                textDirection: TextDirection.rtl,
                                child: Text(
                                    urdumeaning[i],style:GoogleFonts.notoSerif(
                                  fontSize: 14,
                                  fontWeight: FontWeight.bold,


                                )
                                ),
                              )
                            ],
                          )),
                    ),
                  ],
                ),
              ),
            ),
          );
        },

      ),
    );
  }
}
导入“包装:颤振/材料.省道”;
导入“package:hebrew/Deteilpage.dart”;
导入“package:google_fonts/google_fonts.dart”;
void main()=>runApp(MyApp())
);
类MyApp扩展了无状态小部件{
//此小部件是应用程序的根。
@凌驾
小部件构建(构建上下文){
返回材料PP(
debugShowCheckedModeBanner:false,
主题:主题数据(
appBarTheme:appBarTheme(颜色:Colors.green),
原色样本:颜色。紫色,
),
主页:MyHomePage(),
);
}
}
类MyHomePage扩展StatefulWidget{
@凌驾
_MyHomePageState createState()=>\u MyHomePageState();
}
类_MyHomePageState扩展状态{
var hebrewword=[“א”、“ב”、“ּ”、“•”、“ה”、“ז”、“ח”、“ט”、“י”、“ּ”、“㪚”、“מ”、“ס”、“ע”、“ּ”、“צ”、“ק”、“ש”、“ׁ”、“ת”];
var imagelist=['images/a.jpg'、'images/b.jpg'、'images/c.jpg'、'images/d.jpg'、'images/e.jpg'、'images/f.jpg'、'images/g.jpg'、'images/h.png',
‘images/i.jpg’、‘images/j.jpg’、‘images/k.jpg’、‘images/l.jpg’、‘images/m.jpg’、‘images/n.jpg’、‘images/o.jpg’、‘images/p.jpg’、‘images/q.jpg’,
'images/r.png'、'images/s.png',
‘images/t.jpg’、‘images/u.jpg’、‘images/v.jpg’];
var romanurduword=['Aleph','Beit','Gimel','Dalet','Hey','Vav','Zayin','Khet','Tet','Yod','Kaf','Lamed',',
‘Mem’、‘Nun’、‘Samekh’、‘Ayin’、‘Peh’、‘Tsade’、‘Qof’、‘Resh’、‘Shin’、‘Tav’;
var englishword=[
“Alpeh代表A-BA(父亲)”,
“Beith代表Bah yeet(House)”,
“Gimel是给Glida(冰淇淋)的”,
“Dalet是给delet(门)的”,
“嘿,是为哈勒路亚(崇拜)”的,
“Vav是香草味的”,
“斑马杂音”,
“Khet代表Cho desh(月)”,
“Tet代表塔利斯(祈祷披肩)”,
“Yod代表Yada&im”,
“Kaf代表KEH lehv(狗)”,
“Lamed for lechem(面包)”,
“Mem代表MAH goh”,
“修女是指灯”,
“Samekh代表Sus(马)”,
“Ayin代表etz(树)”,
“Peh代表佩拉赫(巴德)”,
“Tsade代表Tzitz”,
“Qof代表Qaseth(弓箭)”,
“Resh代表ROHSH(头)”,
“Shin代表Shofar”,
“Tav代表律法”
];
本次希伯来风险的希伯来方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方ּף',
'לָמֶד','מֵם','נוּן','סָמֶך','עַיִן','פֵּא','צַרִי','קוֹף','רֵישׁ','שִׁין','תָיו'];
var audio=['aleph.mp3'、'beth.mpeg'、'gimel.mpeg'、'dalet.mpeg'、'hey.mpeg'、'vav.mpeg',
“zayin.mpeg”、“khet.mpeg”、“tet.mpeg”、“yod.mpeg”、“kaf.mpeg”、“lamed.mpeg”、“mem.mpeg”,
“nun.mpeg”,“samekh.mpeg”,“ayin.mpeg”,“peh.mpeg”,“psade.mpeg”,“qof.mpeg”,“resh.mpeg”,“shin.mpeg”,“tav.mpeg”
];
赫伯雷解释=[
'אַבָּא','בָּיִת','גֶּלִידָה',' דֶּלֶת ','הַלְלוּ-יָהּ','ןנִיל','זֶבְּרָה',' חוֹדֶּשׁ','טַלִּית','  יָדָיִים',' כֶּלֶב ','לֶחֶם','מַנְגּוֹ','נֵר','סוּס','עֵץ','פֶּרַח','צִיצִת','קָשֶׁת','ראֹשׁ','שׁוֹפָר','תּוֹרָה'];
在本月的才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会才会م、ن、ن、ن、م、م、ن、ن、ن、ن、و、و、و、و、ی、ش、ی、ن、Ă;
在本月的维维维维维本本月的数据单单从从从本月的维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维在1578年的自1578年的自自1578年的自1578年的自1578年的自1578年的自1578年的自1578年的自自1578年的自自1578年的自自1578年的自自自自自自自1578年的自自自自自自自自自自自自自自自自157年的自自自自自自自自自自自自自自自自自自自自自自自自自自自1577月月的自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自自",,
'زائن سے زیبرا(زیبرا)','خیت سے خوہدش(مہینہ)','طیت سے طالیت(دعا ئیہ پوشاک)','یود سے یادیم(ہاتھوں)','کاف سے کیلیو(کتا)','لامید سے لخییم(روٹی)','میم سے مینگواہ(آم)',
'نُون سے نَیر(چراغ)',
'سامیخ سے ثوث(گھوڑا)','عائن سے ایص(درخت)','پے سے پیرخ(کلی)','صادی سے صیعیت(جھالر)','قوف سے قاشیت(کمان)','ریش سے روشش(سر)','شین سے شوفار(نرسنگا)',
'تاؤ سے توراہ(توریت)'
];
自157555555555555555555555555555555月月月月才会才会才会方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方9.:¬、㶎、㶎、㶎、㶎、㶎、㶎、㶎、㶎,
'اردو  مماثل:خ','اردو  مماثل:ط','اردو  مماثل:ی','اردو  مماثل:ک','اردو  مماثل:ل','اردو  مماثل:م','اردو  مماثل:ن','اردو  مماثل:س /ص',
'اردو  مماثل:ع','اردو  مماثل:پ','اردو  مماثل:ص','اردو  مماثل:ق','اردو  مماثل:ر','اردو  مماثل: ش','اردو  مماثل:ت'
];
@凌驾
小部件构建(构建上下文){
归还新脚手架(
appBar:appBar(
标题:文本(“希伯来语学习”),
),
正文:新建ListView.builder(
itemCount:hebrewword.length,
itemBuilder:(上下文,i){
返回手势检测器(
onTap:(){
push(上下文、MaterialPageRoute(生成器:(上下文)=>DetailPage(希伯来语[i]、图像列表[i]、英语单词[i]、音频[i]、乌尔都语[i]、乌尔都语[i]、罗马乌尔都语[i]、乌尔都语[i]);
},
子:容器(
孩子:卡片(
//颜色:颜色,蓝色,
孩子:排(
儿童:[
手势检测器(
onTap:(){
class MyApp extends StatefulWidget {
      @override
      MyAppState createState() => MyAppState();
    }
    
    class MyAppState extends State<MyApp> {
      List<String> list = ['Title 1', 'Title 2', 'Title 3', 'Title 4', 'Title 5', 'Title 6', 'Title 7', 'Title 8', 'Title 9', 'Title 10', 'Title 11', 'Title 12', 'Title 13', 'Title 14', 'Title 15', 'Title 16', 'Title 17', 'Title 18', 'Title 19', 'Title 20'];
    
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
            home: Scaffold(
                body: CustomScrollView(
                    //key: PageStorageKey<String>(myKey),
                    slivers: <Widget>[
                      SliverAppBar(
                        title: Text('Test'),
                      ),
                      _getSlivers(list, context),
                    ]
                  ),
                ));
      }
    
      SliverList _getSlivers(List myList, BuildContext context) {
        return SliverList(
          delegate: SliverChildBuilderDelegate(
                (BuildContext context, int index) {
              return buildRow(myList[index]);
            },
            childCount: myList.length,
          ),
        );
      }
    
      buildRow(String title) {
        return Padding(padding: const EdgeInsets.all(15.0),child: Text(title, style: TextStyle(fontWeight: FontWeight.bold, fontSize: 18.0)));
      }
    }