Adalah disyorkan untuk mengetahui tentang kandungan Kitaran Hayat Aktiviti dalam tutorial Android rasmi. URLnya ialah https://developer.android.com...
Penyelesaian:
Letakkan operasi pemulaan dalam kaedah OnCreate() Aktiviti dan bukannya kaedah OnResume() atau OnStart().
Anda juga boleh menetapkan pengecam pembolehubah global statik kepada 0, tetapkannya kepada 1 selepas pemulaan, dan tentukan sama ada pembolehubah itu adalah 0 sebelum permulaan Walau bagaimanapun, ini bukan cara yang betul untuk memahami LifeCycle masalah.
Fenomena pertama ialah data telah dimulakan semula, jadi penyelesaiannya adalah seperti berikut: 1 Fikirkan mengapa data telah dimulakan semula, mungkin anda memulakannya dalam OnResume(). , kaedah OnStart() 2,hasilkan Sebab masalahnya ialah data dimulakan beberapa kali, jadi anda boleh menambah fungsi berbilang panggilan ke pemulaan data dan menggunakan idea berorientasikan objek untuk merangkum data permulaan, yang sedikit seperti model minat tunggal . Kelebihan ini ialah ia menyelesaikan kemungkinan banyak masalah yang timbul,
Jika setiap kali Activity anda ialah destroy, maka anda tidak akan dapat mencapai hasil yang anda inginkan dengan meletakkan program permulaan dalam onCreate. Jadi lebih baik anda menyemak log dahulu dan lihat Activity kitaran hayat anda.
Setiap kali anda memasuki halaman, tentukan sama ada data sudah wujud Jika ia sudah wujud, gunakan cache dan jangan minta rangkaian untuk memuatkan data.
Letakkan operasi data permulaan dalam kaedah onCreate Anda boleh memasukkannya ke dalam onResume.
Adalah disyorkan untuk mengetahui tentang kandungan Kitaran Hayat Aktiviti dalam tutorial Android rasmi.
URLnya ialah https://developer.android.com...
Penyelesaian:
Letakkan operasi pemulaan dalam kaedah
OnCreate()
Aktiviti dan bukannya kaedahOnResume()
atauOnStart()
.Anda juga boleh menetapkan pengecam pembolehubah global statik kepada 0, tetapkannya kepada 1 selepas pemulaan, dan tentukan sama ada pembolehubah itu adalah 0 sebelum permulaan Walau bagaimanapun, ini bukan cara yang betul untuk memahami LifeCycle masalah.
Dilampirkan ialah gambar Kitaran Hayat
Fenomena pertama ialah data telah dimulakan semula, jadi penyelesaiannya adalah seperti berikut:
1 Fikirkan mengapa data telah dimulakan semula, mungkin anda memulakannya dalam OnResume(). , kaedah OnStart()
2,hasilkan Sebab masalahnya ialah data dimulakan beberapa kali, jadi anda boleh menambah fungsi berbilang panggilan ke pemulaan data dan menggunakan idea berorientasikan objek untuk merangkum data permulaan, yang sedikit seperti model minat tunggal . Kelebihan ini ialah ia menyelesaikan kemungkinan banyak masalah yang timbul,
Jika setiap kali
Activity
anda ialahdestroy
, maka anda tidak akan dapat mencapai hasil yang anda inginkan dengan meletakkan program permulaan dalamonCreate
. Jadi lebih baik anda menyemaklog
dahulu dan lihatActivity
kitaran hayat anda.Setiap kali anda memasuki halaman, tentukan sama ada data sudah wujud Jika ia sudah wujud, gunakan cache dan jangan minta rangkaian untuk memuatkan data.
Dengan mengelog dan menggabungkannya dengan fungsi kitaran hayat android, masalah pada dasarnya diselesaikan
Ini bermakna aktiviti anda telah dibunuh, pertimbangkan sebabnya
Biasanya onCreate akan dipanggil semula hanya selepas Aktiviti dimusnahkan. Semak mod permulaan Aktiviti semasa dan mod permulaan Aktiviti lain.
Anda boleh mempertimbangkan mod permulaan Aktiviti anda Terdapat 4 mod permulaan, sentiasa ada satu yang sesuai untuk anda
onSavedInstance()
onRestoreInstance()