Rumah > Soal Jawab > teks badan
本人写了一个activity初始化了一些数据,而在另一个activity改变数据后返回时,发现数据又再一次被初始化,有什么办法可以改变这种情况吗?
初始化数据是在onCreate()
迷茫2017-04-17 17:36:18
Letakkan operasi data permulaan dalam kaedah onCreate Anda boleh memasukkannya ke dalam onResume.
高洛峰2017-04-17 17:36:18
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.
Dilampirkan ialah gambar Kitaran Hayat
黄舟2017-04-17 17:36:18
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,
PHPz2017-04-17 17:36:18
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.
阿神2017-04-17 17:36:18
Setiap kali anda memasuki halaman, tentukan sama ada data sudah wujud Jika ia sudah wujud, gunakan cache dan jangan minta rangkaian untuk memuatkan data.
天蓬老师2017-04-17 17:36:18
Dengan mengelog dan menggabungkannya dengan fungsi kitaran hayat android, masalah pada dasarnya diselesaikan
PHP中文网2017-04-17 17:36:18
Biasanya onCreate akan dipanggil semula hanya selepas Aktiviti dimusnahkan. Semak mod permulaan Aktiviti semasa dan mod permulaan Aktiviti lain.
黄舟2017-04-17 17:36:18
Anda boleh mempertimbangkan mod permulaan Aktiviti anda Terdapat 4 mod permulaan, sentiasa ada satu yang sesuai untuk anda