Activity.OnRetainNonConfigurationInstance Metode

Definisi

Dipanggil oleh sistem, sebagai bagian dari menghancurkan aktivitas karena perubahan konfigurasi, ketika diketahui bahwa instans baru akan segera dibuat untuk konfigurasi baru.

[Android.Runtime.Register("onRetainNonConfigurationInstance", "()Ljava/lang/Object;", "GetOnRetainNonConfigurationInstanceHandler")]
public virtual Java.Lang.Object? OnRetainNonConfigurationInstance();
[<Android.Runtime.Register("onRetainNonConfigurationInstance", "()Ljava/lang/Object;", "GetOnRetainNonConfigurationInstanceHandler")>]
abstract member OnRetainNonConfigurationInstance : unit -> Java.Lang.Object
override this.OnRetainNonConfigurationInstance : unit -> Java.Lang.Object

Mengembalikan

Objek apa pun yang memegang status yang diinginkan untuk disebarluaskan ke instans aktivitas berikutnya

Atribut

Keterangan

Dipanggil oleh sistem, sebagai bagian dari menghancurkan aktivitas karena perubahan konfigurasi, ketika diketahui bahwa instans baru akan segera dibuat untuk konfigurasi baru. Anda dapat mengembalikan objek apa pun yang Anda suka di sini, termasuk instans aktivitas itu sendiri, yang nantinya dapat diambil dengan memanggil #getLastNonConfigurationInstance() dalam instans aktivitas baru.

<em>Jika Anda menargetkan android.os.Build.VERSION_CODES#HONEYCOMB atau lebih baru, pertimbangkan untuk menggunakan Fragment dengan Fragment#setRetainInstance(boolean) Fragment.setRetainInstance(boolean.</Em>

Fungsi ini disebut murni sebagai pengoptimalan, dan Anda tidak boleh mengandalkannya dipanggil. Ketika dipanggil, sejumlah jaminan akan dibuat untuk membantu mengoptimalkan pengalihan konfigurasi: <ul><li> Fungsi akan dipanggil antara #onStop dan #onDestroy. <li> Instans baru aktivitas akan <mereka>selalu</em> segera dibuat setelah yang satu ini #onDestroy() dipanggil. Secara khusus, <pesan em>no</em> akan dikirim selama waktu ini (ketika objek yang dikembalikan tidak memiliki aktivitas yang akan dikaitkan). <li> Objek yang Anda kembalikan di sini akan <selalu></em> tersedia dari #getLastNonConfigurationInstance() metode instans aktivitas berikut seperti yang dijelaskan di sana. </Ul>

Jaminan ini dirancang sehingga aktivitas dapat menggunakan API ini untuk menyebarluaskan status ekstensif dari instans aktivitas lama ke baru, dari bitmap yang dimuat, hingga koneksi jaringan, hingga menjalankan utas secara merata. Perhatikan bahwa Anda tidak< boleh <menyebarkan>> data apa pun yang dapat berubah berdasarkan konfigurasi, termasuk data apa pun yang dimuat dari sumber daya seperti string, tata letak, atau yang dapat digambar.

Jaminan tidak ada penanganan pesan selama pengalihan ke aktivitas berikutnya menyederhanakan penggunaan dengan objek aktif. Misalnya jika status yang dipertahankan adalah android.os.AsyncTask Anda dijamin bahwa fungsi panggilan baliknya (seperti android.os.AsyncTask#onPostExecute) tidak akan dipanggil dari panggilan di sini sampai Anda menjalankan instans #onCreate(Bundle)berikutnya. (Perhatikan bagaimanapun bahwa tentu saja tidak ada jaminan seperti itu karena android.os.AsyncTask#doInBackground itu berjalan di utas terpisah.)

<Strong>Note:</strong> Untuk sebagian besar kasus, Anda harus menggunakan Fragment API Fragment#setRetainInstance(boolean) sebagai gantinya; ini juga tersedia di platform yang lebih lama melalui pustaka dukungan Android.

Dokumentasi Java untuk android.app.Activity.onRetainNonConfigurationInstance().

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Berlaku untuk