Mengenal Lebih dalam Activity Lifecycle (Siklus Hidup) di Android

Pada bagian Project Pertama ” Hello World ” pada Android Studio sudah dijelaskan bahwa Activity (aktivitas) adalah sebuah komponen aplikasi yang menyediakan layar yang digunakan pengguna untuk berinteraksi guna melakukan sesuatu, misalnya memilih nomor ponsel, mengambil foto, mengirim email, atau menampilkan peta.

Tiap  Activity (aktivitas) diberi sebuah jendela untuk menggambar antarmuka penggunanya. Satu aplikasi bisa memiliki lebih dari satu Activity, dan setiap Activity memiliki siklus hidup.
Siklus hidup aplikasi Android diatur oleh sistem, berdasarkan kebutuhan pengguna, sumber daya yang tersedia, dan sebagainya. Adapun siklus hidup android yaitu :
Mengenal Lebih dalam Activity Lifecycle di Android
Sumber : StackOverflow

1. onCreate()

Method ini dipanggil saat activity pertama kali dibuat

2. onStart()

Method ini dipanggil saat sebuah activity tampil ke pengguna

3. onRestart()

Method ini dipanggil ketika activity yang berjalan pada saat itu dihentikan sementara (paused) dan activity sebelumnya dijalankan kembali(resume). (Hasil dari method OnRestart())

4. onFreeze()

Method ini dipanggil ketika activity berada dalam keadaan freeze (tidak merespon) akibat sedang sibuk mengerjakan tugas tertentu pada sistem

5. onPause()

Method ini dipanggil ketika activity di hentikan sementara (pause) dan berikutnya ketika dijalankan kembali akan berada dalam posisi resume dan memanggil method OnResume()

6. onStop()

Method ini dipanggil ketika activity tidak lagi tampak kepada pengguna

7. onRestart()

Method ini dipanggil ketika acitivity dijalankan kembali setelah state Stop

8. onDestroy()

Method ini dipanggil sebelum activity dihancurkan (destroy) oleh sistem (baik secara manual maupun untuk kepentingan pelonggaran memori.

Contoh Penggunaan

Penggunaan siklus hidup aplikasi dapat diterapkan misalnya untuk membuat aplikasi yang terdapat Splash screen sehingga saat aplikasi baru dimulai, akan menampilkan suatu gambar terlebih dahulu disertai dengan musik lalu masuk ke aplikasi utama. Siklus di atas pun berlangsung terus menerus hingga aplikasi atau activity akhirnya di terminasi.
Atau contoh lainnya saat membuat aplikasi game dengan skenario. Game yang dilengkapi dengan waktu, skor dan riwayat. Apabila game sedang dijalankan, tiba-tiba ada panggilan telepon maka aplikasi harus menyimpan posisi terakhir, skor terakhir dan waktu. Maka dari itu dibutuhkan siklus hidup dalam sebuah aplikasi.

Berikut ini contoh penerapan siklus aplikasi :

1. Buat Project Baru 

Buatlah project baru pada Android Studio dengan nama siklushidup

2. MainActivity.java

Jika workspace android studio sudah terbuka klik tab MainActivity.java dan tambahkan beberapa method dari siklus hidup diatas.  Kita akan menggunakan overidding methodonStart()onResume()onPause(), dan onStop().
Untuk menambahkan methodnya tekan CTRL + O pada MainActivity.java dan pilih 4 method yang ada diatas. Jika sudah tambahkan toast agar kita bisa melihat proses siklus hidup pada aplikasi tersebut.
Mengenal Lebih dalam Activity Lifecycle di Android
Lebih lengkapnya menjadi seperti ini :
package badoystudio.com.siklushidup;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    @Override
    protected void onStart() {
        super.onStart();
        Toast.makeText(this, "Siklus hidup onStart",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onResume() {
        super.onResume();
        Toast.makeText(this, "Siklus hidup onResume",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onPause() {
        super.onPause();
        Toast.makeText(this, "Siklus hidup onPause",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onStop() {
         super.onStop();
        Toast.makeText(this, "Siklus hidup onStop",Toast.LENGTH_SHORT).show();
    }


}

3. Running Aplikasi

Jika sudah silahkan running aplikasi dan metode akan dieksekusi secara berurutan.
Mengenal Lebih dalam Activity Lifecycle di Android

Konsep siklus ini penting agar developer tidak mengimplementasikan banyak kelas di waktu yang bersamaan dan pastinya memakan banyak sekali memori. Ketika kelas lain aktif, kelas yang tidak berjalan perlu dihenitkan sementara agar menghemat penggunaan memori.