Membuat Aplikasi Windows 8 – 5 – Suspended, Terminated dan Resume

Assalamu’alaikum :)

Halo, ketemu lagi di serial Membuat Aplikasi Windows 8 bagian ke-5. Kali ini saya akan membahas siklus dari aplikasi Windows 8 atau yang biasa disebut dengan Apps Lifecycle, mulai dari aplikasi tersebut dijalankan, disuspend, diresume, dan diterminate. Bingung? Tenang, saya akan mencoba menjelaskan :D

App Lifecycle

Siklusnya seperti ini ilustrasinya:

Windows 8 App Cycle

Suspended

Windows akan men-suspend aplikasi kita secara automatis setelah beberapa detik aplikasi kita “disimpan” atau “disingkirkan” atau diminimize oleh user. Dalam interval beberapa detik tersebut, Windows mengecek apakah user kembali lagi ke aplikasi kita atau tidak, kalau tidak maka aplikasi kita di suspend.

Ini berarti aplikasi kita tetap berada di dalam RAM tetapi tidak akan memroses apapun yang berhubungan dengan CPU untuk menjaga performance dari aplikasi kita. Dengan kata lain, tidak ada koneksi internet atau akses ke data user kecuali sudah di set menjadi background task.

Ketika Windows meng-suspend aplikasi kita, maka event WinJS.Application.oncheckpoint(); akan di jalankan. Kode ini sudah pernah kita lihat sebelumnya di postingan ke-2, Hello World. Event ini berguna untuk menyimpan state/posisi/keadaan user terakhir kali sebelum aplikasi kita di Suspend, untuk jaga-jaga kalau aplikasi kita nantinya bakal di terminate.

Resuming

Ini adalah state/kondisi ketika user kembali ke aplikasi kita setelah aplikasi kita kena Suspend. Ketika user kembali ke aplikasi kita dari state Suspended, maka user akan melihat halaman terakhir yang dia lihat. Tidak ada data aplikasi/navigasi yang hilang karena Aplikasi kita masih berada di RAM. Maka dari itu kebanyakan Windows 8 Apps tidak perlu melakukan apa-apa ketika memasuki state Resuming ini.

Terminated

Nah, di sini bagian yang menarik. Aplikasi kita sudah di Suspend oleh Windows, dan Windows pun berusaha sebisa mungkin untuk menyimpan aplikasi-aplikasi yang di Suspend di RAM. Tetapi, ketika Windows sudah kehabisan ruang di RAM, aplikasi kita bisa saja di terminate. Windows akan membuang/melepas jatah tempat aplikasi kita di RAM, dengan kata lain aplikasi kita dimatikan. Tetapi, Windows melakukan ini secara sembunyi-sembunyi tanpa sepengetahuan user. Jadi, dipikiran user aplikasi kita masih berjalan, namun pada nyatanya aplikasi kita sudah dihentikan. Dan ketika user membuka aplikasi kita lagi, aplikasi kita harus menampilkan data terakhir/state terakhir yang dilihat user. Nah loh? Gimana coba?

Nah itulah gunanya event yang dijalankan ketika aplikasi kita di Suspend. Di situ kita bisa menyimpan apa saja yang kita butuhkan kalau-kalau aplikasi kita di Terminate. Kemana kita menyimpannya? Ke dalam variable WinJS.Application.sessionState.

Session State

Okay, kita menyimpan data user di event WinJS.Application.oncheckpoint(); Lalu, bagaimana caranya mengambil kembali data yang kita simpan ketika user kembali ke aplikasi kita?

Ketika kita membuat sebuah project baru menggunakan template apapun, Visual Studio sudah memudahkan kita dengan cara membuat beberapa function JavaScript sebagai “tempat” di mana kita menyimpan dan me-load aplikasi data aplikasi kita. Kita sudah tau tempat kita meng-save datanya, sekarang tempat kita me-load datanya ada tepat di atas fungsi tersebut.

Coba buka file default.js dan temukan kode di bawah ini:

Nah, di dalam kondisi else itu lah tempat kita meload data-data yang kita simpan di dalam WinJS.Application.sessionState;

Untuk live coding penjelasan mengenai Termination dari Windows, saya tuangkan di video agar lebih mudah di mengerti :)

Codingannya:

 

Okay, itu sudah penjelasan mengenai App Lifecycle di Windows 8 Apps. Semoga bermanfaat and see you next time!

Referensi:
http://msdn.microsoft.com/en-us/library/windows/apps/hh464925.aspx
Kraig Brockschmid. Programming Windows 8 Apps with HTML, CSS, and JavaScript, 2012.

AbangFadli, out :cool:

Wassalamu’alaikum :kr

Ilmu jangan disimpan sendiri, bagikan ke teman-teman anda:

Comments

comments

Ahmad Fadli Basyari

Mahasiswa IT di President University. Memiliki hobi membuat aplikasi mobile, blogging dan menonton film.

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA *

[+] kaskus emoticons nartzco