Mengenal Processes, Thread dan Service di Android

android studio 14 Nov 2015

Mengenal Processes, Thread dan Service di Android. Ketika satu Komponen aplikasi dijalankan dan aplikasi tidak memiliki komponen lain yang berjalan, sistem Android akan memulai Linux process baru untuk aplikasi dengan single thread. Secara default, semua komponen dari aplikasi yang sama berjalan dalam proses dan thread yang sama (disebut “main” thread).

komponen android

Komponen pada Aplikasi Android

Secara default, semua komponen dari aplikasi yang sama berjalan dalam proses yang sama dan sebagian besar aplikasi tidak harus mengubah ini. Namun, jika Anda perlu untuk mengontrol proses komponen tertentu, Anda dapat melakukannya di file manifest. Gunakan Atribut dari android:process — <activity> <service> <receiver> dan <provider> — untuk menentukan proses akan dijalankan. Komponen pada aplikasi berbeda dapat jalan dengan proses yang sama dengan menggunakan android:process jika
– Aplikasi tersebut saling berbagi linux user id yang sama.
– Aplikasi tersebut signed dengan certifacates yang sama.

Proses yang mana seharusnya android kill ?

Android membandingkan pentingnya proses dengan yang lain dan memperhatikan user. Pada kasus low memory, proses yang tidak digunakan oleh user akan di kill duluan.

Process Importance levels

1. Proses dengan Lowest Importance akan dieliminasi duluan.
2. Foreground Process [Highest Importance], suatu proses dianggap Foreground Process jika salah satu kondisi berikut:
– Activity dengan onResume() yang sedang berjalan dan user berinteraksi.
– Service mengeksekusi method lifecycle, foreground service, atau user berinteraksi dengan dengan serivice yang terikat pada activity yang sedang berjalan.
– BroadcastReceiver mengeksekusi method onReceive().
3. Visible Process [2nd Highest Importance], sebuah proses yang tidak memiliki komponen foreground, tapi masih dapat mempengaruhi apa yang user lihat di layar. Suatu proses dianggap Visible Process jika salah satu dari kondisi berikut ini :
– Activity dengan dipanggil method onPause().
– Service terikat dengan activity yang visible.
4. Service Process [3rd Highest Importance] , suatu proses dianggap Service Process jika kondisi seperti berikut:
– User tidak langsung berinteraksi
– Memiliki service yang berjalan seperti memutar musik and tidak seperti 2 katagori di atas.
5. Background Process [2nd Lowest Importance]
– User tidak berinteraksi sama sekali.
– Jika activity baru dilihat oleh user maka proses tersebut akan di hancurkan terakhir.
6. Empty Process [Lowest Importance]
– Tidak ada komponen yang berjalan.
– proses ini akan tetap hidup untuk tujuan caching.

Jadi Service Process memiliki peringkat yang lebih tinggi dari pada proses yang tidak memiliki service [gunakan threads untuk operasi suatu proses lebih lama]. Oleh karena itu,saat men-download gambar dari worker threads menggunakan service lebih baik daripada men-download tanpa service.

Demikian artikel Mengenal Processes, Thread dan Service di Android. Ikuti terus teknorial.com untuk mengetahui banyak hal tentang pemrograman android. Jangan lupa untuk Like Fanspage Teknorial di Facebook dan Google Plus untuk mendapatkan update terbaru dari teknorial.com . Jika ada pertanyaan jangan ragu untuk bertanya dikotak komentar. Terima Kasih

Referensi
Processes and Threads
http://developer.android.com/guide/components/processes-and-threads.html

Tag