Share via


Application.Suspending Kejadian

Definisi

Terjadi ketika aplikasi beralih ke status Ditangguhkan dari beberapa status lain.

public:
 virtual event SuspendingEventHandler ^ Suspending;
// Register
event_token Suspending(SuspendingEventHandler const& handler) const;

// Revoke with event_token
void Suspending(event_token const* cookie) const;

// Revoke with event_revoker
Application::Suspending_revoker Suspending(auto_revoke_t, SuspendingEventHandler const& handler) const;
public event SuspendingEventHandler Suspending;
function onSuspending(eventArgs) { /* Your code */ }
application.addEventListener("suspending", onSuspending);
application.removeEventListener("suspending", onSuspending);
- or -
application.onsuspending = onSuspending;
Public Custom Event Suspending As SuspendingEventHandler 

Jenis Acara

Contoh

Contoh kode ini menunjukkan pola penggunaan umum untuk peristiwa ini. Kode ini digunakan oleh banyak sampel XAML sebagai bagian dari kode belakang untuk file app.xaml. Jika Anda menelusuri sampel XAML, Anda dapat menemukan kode sumber untuk SuspensionManager API kelas seperti yang dirujuk dalam kode ini.

async protected void OnSuspending(object sender, SuspendingEventArgs args)
{
    SuspendingDeferral deferral = args.SuspendingOperation.GetDeferral();
    await SuspensionManager.SaveAsync();
    deferral.Complete();
}
Private Async Sub OnSuspending(sender As Object, args As SuspendingEventArgs) 
    Dim deferral As SuspendingDeferral = args.SuspendingOperation.GetDeferral 
    Await SuspensionManager.SaveAsync 
    deferral.Complete() 
End Sub 

Keterangan

Sistem menangguhkan aplikasi Anda setiap kali pengguna beralih ke aplikasi lain atau ke desktop, dan melanjutkan aplikasi Anda setiap kali pengguna beralih kembali ke aplikasi tersebut. Namun, sistem juga dapat menghentikan aplikasi Anda saat ditangguhkan untuk membebaskan sumber daya. Oleh karena itu, Anda harus menangani peristiwa Penangguhan untuk melakukan operasi berikut:

  • Mempertahankan status sesi pengguna.
  • Lepaskan kunci eksklusif pada sumber daya.
  • Kurangi penggunaan memori jika memungkinkan. Misalnya, serialisasi data apa pun yang mudah direkonstruksi dalam bentuk objek setelah pengaktifan ulang.
  • Simpan status aplikasi. Peristiwa Penangguhan adalah satu-satunya indikasi yang akan diterima aplikasi Anda sebelum penghentian (jika itu terjadi). Karena itu, Anda harus menyimpan status sesi yang cukup (seperti artikel saat ini yang dibaca atau posisi pemutaran film saat ini) untuk membuat ulang pengalaman yang sama persis selama aktivasi. Panduan untuk aplikasi pembuatan konten adalah menyimpan pekerjaan pengguna lebih awal dan sering tetapi juga menerapkan satu penyimpanan akhir selama Penangguhan. Menyimpan data sebelum penangguhan berguna karena penanganan aktivitas Penangguhan hanya memiliki waktu 5 detik untuk menyelesaikan operasinya.

Jika aplikasi Anda dihentikan, Anda dapat memulihkan status aplikasi dalam penimpaan metode OnLaunched . Jika aplikasi Anda dilanjutkan sebelum dihentikan, sistem akan memulihkan status aplikasi secara otomatis. Anda harus menangani peristiwa Melanjutkan hanya jika Anda perlu me-refresh konten yang ditampilkan yang mungkin telah berubah saat aplikasi ditangguhkan, seperti umpan berita atau lokasi pengguna.

Acara Penangguhan berjalan di apartemen yang sama dengan tempatnya terdaftar.

Berlaku untuk

Lihat juga