◗❘
❙❚
r
❯❱ ❯
m
❲
t
❳ ❨❩
st
❬❭❪ ❬
r y
❬❭❫
m
❚
m u
n
❫ ❴❯ ❭❴ ❬
n
❬❵❛❯❴ ❬ ❱ ❯
❛ ❬ ❯
n
❪ ❬❵ ❬
t m
❚
n y
❯
m
❵❬
n
❪ ❬
n m
❚ ❭❫ ❬
m
❙❯❛ ❱
❜ ❬
tu
❪ ❬
t
❬
y
❬ ❭ ❫
❪❯
t
❬
n
❫ ❬❭
❯ ❝
❛❚ ❞
❡
o n
t
❲
n t p
ro vi
❩❲
r [4].
2.5.11 Siklus Hidup Aplikasi Android
Pada banyak kasus, tiap aplikasi pada Android masing-masing memiliki Linux proses. Proses ini diciptakan untuk aplikasi tersebut pada saat kode
program tersebut akan dieksekusi, akan terus berjalan sampai tidak dibutuhkan lagi dan sistem memerlukan memori untuk aplikasi lain. Konsep dasar program
Android adalah suatu proses pada aplikasi tidak langsung di atur oleh aplikasi tersebut. Proses tersebut ditentukan oleh sistem melalui kombinasi : informasi
aplikasi bagi sistem, seberapa pentingnya aplikasi tersebut bagi
❢❣ ❲
r dan ketersediaan memori. Contoh kasus lif
❲ ❤ ❡
y
❡
l
❲ ✐
u g
adalah
❥
n t
❲
n t
❦❲ ❡
❲
iv
❲
r yang
menciptakan t
❳ ❧
❲ ♠
❩
pada saat menerima in t
❲
n t
pada m
❲
t
❳ ❨❩
onReceiveIntent dan selesai dari fungsi tersebut. Setelah fungsi tersebut selesai, sistem
menganggap bahwa
❥
n t
❲
n t
❦❲ ❡
❲
iv
❲
r tersebut menjadi tidak aktif sehingga ia
memiliki proses yang tidak dibutuhkan kecuali terdapat komponen aplikasi lain di dalamnya. Oleh karena itu, sistem dapat menghapus proses tersebut kapanpun
apabila dibutuhkan. Hal tersebut akan menghapus semua t
❳ ❧
❲ ♠
❩
yang berjalan pada proses tersebut. Solusi masalah ini adalah memakai
♥ ❲
rvi
❡ ❲
dari IntentReceiver, sehingga sistem mengetahui bahwa ada suatu yang aktif dalam
proses tersebut [4]. Sebagai
♦ ❧
❨♣ ❧ ♠
q
m
❲
r , kita harus mengetahui bagaimana cara yang tepat untuk merancang aplikasi. Kesalahan pada perancangan akan membuat suatu
r r
st✉✈✇ s① ✈
s ✇ s
n
②✈③ ④
n t
✈✇ s
n
⑤✉ ④ ③
① ✈
st
④
m
ts② s ①
ss
t y
s
n
⑥
t
✈ ②s ✇
② ✈✈ ⑦ ⑥
✈ ⑦ ✇
s
n
⑧ ⑨
n t
⑩✇
m
④⑦ ④
n t
⑩ ✇
s
n p
r
⑤ ① ④
s m
s
n
s
y
s
n
⑥ s
✇ s
n
② ✈③
s
p u
s
t s② s ①
✈
t
⑩ s① ✈
lo w
m
❶
m o
ry
❷ ❸
⑦② ❹
⑤✈ ②
m
④
m
✈✉✈✇ ✈
im p
o rt
❺ ❻❼ ❶
h i
❶ ❽
❺ ❽ ❼
h y
berdasarkan komponen dan st
❺ ❾ ❶
yang sedang berjalan. Urutan berdasarkan kepentingan tersebut adalah:
1. Foreground process.
Adalah suatu proses yang dibutuhkan untuk berinteraksi dengan u
s
❶
r saat ini. Berbagai komponen suatu aplikasi dapat
mengakibatkan proses di dalamnya menjadi f
❿❽ ❶
g
❽ ❿➀ ❻➁ ➂❽ ❿➃
❶
s . Suatu proses dikatakan f
❿❽ ❶➄
❽ ❿➀ ❻➁
apabila memenuhi kondisi sebagai berikut:
Menjalankan Activity pada to p
➃ ❼❽
❶❶
n yang sedang berinteraksi dengan
➀ ➃
❶
r setelah m
❶
t
➅ ❿ ➁
onResume dipanggil.
Mempunyai IntentReceiver
yang sedang
berjalan method
IntentReceiver.onReceiveIntent sedang dieksekusi.
Memilik service yang fungsi
❼❺ ➆
l
➇ ❺❼
k
➈
nya Service.onCreate, Service.onStart atau Service.onDestroy sedang dieksekusi.
Hanya akan terdapat beberapa proses seperti itu dalam sistem, proses ini
hanya akan dihapus apabila sistem tidak memiliki pilihan lain. Contohnya apabila memori tinggal sedikit sehingga proses f
❿ ❽
❶➄ ❽ ❿
➀ ❻
➁
tidak bisa lagi berjalan. Hal ini diperlukan untuk menjaga u s
❶
r in t
❶
rf
❺ ❼ ❶
tetap interaktif dengan u s
❶
r . 2.
Visible process. Adalah proses yang memegang Activity yang dapat dilihat
➀ ➃ ❶
r pada layar tetapi tidak f
❿❽ ❶➄
❽ ❿➀ ❻➁
pada saat m
❶
t
➅ ❿ ➁
onPause dipanggil. Hal ini dapat terjadi, sebagai contoh
❺ ❼
tivity f
❿ ❽
❶➄ ❽ ❿➀ ❻➁
muncul dengan dialog sehingga
❺❼
tivity sebelumnya terlihat di belakangnya. Proses