Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Artikel ini akan membantu anda memahami penggunaan panas Flutter

Artikel ini akan membantu anda memahami penggunaan panas Flutter

王林
王林ke hadapan
2023-04-10 13:41:031305semak imbas

Artikel ini akan membantu anda memahami penggunaan panas Flutter

Mengenai mod larian dalam Dart

  • JIT: Tafsiran, terjemahan dan pelaksanaan dinamik pada masa yang sama, juga dipanggil just-in-. kompilasi masa, seperti JavaScript, Python, dsb., yang digunakan dalam kitaran pembangunan, boleh mengeluarkan dan melaksanakan kod secara dinamik, dan kecekapan pembangunan dan ujian adalah tinggi, tetapi kelajuan dan prestasi larian akan terjejas pada ciri ini
  • AOT : Mendahului Masa Penyusunan statik bermakna semua program diterjemahkan ke dalam kod mesin sebelum pelaksanaan, dan disusun terlebih dahulu, seperti C, C++, OC, dll. Apabila menggunakan AOT semasa proses. tempoh keluaran, tidak perlu menggabungkan kod JavaScript merentas platform dan kod asli seperti RN. Wujudkan hubungan pemetaan panggilan kaedah yang tidak cekap antara kod Android dan iOS.

Mod jalanan program tidak mempunyai hubungan mandatori dengan bahasa tertentu Sebagai contoh, python boleh sama ada JIT atau AOT ialah salah satu daripada beberapa bahasa yang menyokong JIT dan AOT .

Dart menggunakan JIT semasa proses pembangunan Setiap perubahan tidak perlu disusun ke dalam bytecode, yang menjimatkan banyak masa Ia menggunakan AOT untuk menjana kod ARM yang cekap semasa penggunaan untuk memastikan prestasi yang cekap, jadi Dart It mempunyai ciri-ciri kelajuan larian yang pantas dan prestasi pelaksanaan yang baik.

Muat Semula Panas

Ubah suai rentetan "Hello, World" dalam fail kod Dart, tambah tanda seru, klik butang simpan atau muat semula panas untuk mengemas kini dengan segera antara muka dalam beberapa ratus milisaat sahaja:

Artikel ini akan membantu anda memahami penggunaan panas Flutter

Flutter menyuntik kod baharu ke dalam DartVM yang sedang berjalan untuk mencapai kesan ajaib Muat Semula Panas, selepas DartVM selesai mengemas kini struktur kelas dalam program, Flutter akan segera membina semula keseluruhan pepohon kawalan untuk mengemas kini antara muka. Tetapi muat semula panas juga mempunyai beberapa batasan. disusun, dan Flutter akan melaporkan ralat dalam konsol Dalam kes ini, kod yang sepadan perlu diubah suai.

  1. Penukaran jenis kawalan daripada StatelessWidget
  2. kepada
  3. StatefulWidget , kerana Flutter akan mengekalkan keadaan asal atur cara semasa melakukan penyegaran panas, dan menukar kawalan daripada tanpa tahap→stateful akan menyebabkan Flutter melaporkan ralat "myWidget bukan subjenis StatelessWidget" semasa mencipta semula kawalan, sambil menukar daripada stateful→ stateless akan menyebabkan ralat " taip 'myWidget' bukan subjenis jenis 'StatefulWidget' daripada 'newWidget'". Pembolehubah global dan pembolehubah ahli statik, pembolehubah ini tidak akan dikemas kini semasa muat semula panas.
  4. Mengubah suai nod kawalan akar yang dibuat dalam fungsi utama Selepas penyegaran panas, Flutter hanya akan mencipta semula pokok kawalan berdasarkan nod akar asal dan tidak akan mengubah suai nod.
  5. Kelas tertentu ditukar daripada jenis biasa kepada jenis penghitungan, atau senarai parameter generik jenis berubah, yang akan menyebabkan muat semula panas gagal.
  6. Apabila muat semula panas gagal dikemas kini, lakukan mula semula panas (Hot Restart) untuk mengemas kini sepenuhnya semua kod Apl. Perbezaan Ya mulakan semula akan menyegerakkan semua pakej kod Dart ke peranti, dan semua status akan ditetapkan semula.

Atas ialah kandungan terperinci Artikel ini akan membantu anda memahami penggunaan panas Flutter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam