Pernah tidak, malam-malam menaruh HP di meja, saat paginya buka HP tiba-tiba ada belasan chat yang baru masuk bersamaan? Padahal sinyal bagus, kuota ada, dan temanmu bilang dia kirim dari jam sebelas malam.
Bisa jadi HP-mu rusak. Tapi kemungkinan besar penyebabnya jauh lebih sepele: Doze mode, fitur hemat baterai bawaan Android yang memang sengaja “menahan” aplikasi saat HP tidak dipakai.
Disini kita akan membahas apa itu Doze, cara kerjanya, dan apa yang perlu kamu lakukan, baik sebagai pengguna biasa maupun sebagai developer yang aplikasinya terkena dampaknya.
Apa itu Doze mode ?
Bayangkan sebuah kantor. Selama jam kerja, semua staf lalu-lalang, telepon berdering, dan lampu menyala. Begitu kantor tutup dan tidak ada orang, wajar kalau lampu dimatikan dan AC dipelankan. Listrik tidak terbuang untuk ruangan kosong.

Doze bekerja dengan logika yang sama. Kalau HP kamu diam cukup lama dan layarnya mati, Android menyimpulkan bahwa kamu sedang tidak memakainya. Maka aplikasi-aplikasi yang biasanya tetap “bangun” di belakang layar dipaksa istirahat. Hasilnya, baterai jauh lebih awet saat HP dianggurkan, misalnya semalaman atau seharian di dalam tas.
Fitur ini pertama kali hadir di Android 6.0 (Marshmallow) dan sampai sekarang masih ada, dengan beberapa penyempurnaan.
Kapan Doze aktif ?
Doze tidak langsung menyala begitu layar mati. Android menunggu sampai beberapa syarat ini terpenuhi sekaligus:
- layar mati,
- HP tidak sedang diisi daya,
- HP diam di satu tempat (tidak digenggam, tidak dibawa jalan) selama beberapa waktu.
Kalau salah satunya tidak terpenuhi, misalnya kamu sedang nge-charge, Doze tidak jalan. Itu sebabnya notifikasi biasanya lancar saat HP dicolok, tapi mulai seret ketika HP dibiarkan sendirian di meja.
Sejak Android 7.0 ada versi yang lebih ringan, sering disebut Doze ringan atau light Doze. Versi ini aktif walaupun HP sedang kamu bawa, misalnya di saku saat naik motor, asalkan layar mati dan tidak dicas. Pembatasannya lebih halus, tapi tetap ada.
Apa saja yang ditahan ?
Saat Doze aktif, Android menunda banyak hal yang biasanya berjalan diam-diam:
- akses internet untuk aplikasi di belakang layar,
- sinkronisasi data, misalnya email atau foto yang diunggah otomatis,
- tugas terjadwal yang dipasang aplikasi,
- alarm biasa milik aplikasi,
- pencarian jaringan Wi-Fi dan penggunaan GPS oleh aplikasi.
Bukan berarti semuanya dibuang. Pekerjaan itu hanya ditumpuk dulu. Ditahan di depan pintu sementara, lalu masuk saat layar hp menyala.

Supaya tumpukan itu tidak menggunung selamanya, Android membuka apa yang disebut maintenance window, yaitu jendela waktu singkat ketika semua aplikasi boleh mengerjakan tugas yang tertunda: sinkronisasi, kirim data, dan sebagainya. Setelah itu HP kembali tidur.
Menariknya, makin lama HP dianggurkan, makin jarang jendela ini dibuka. Jadi HP yang ditinggal tidur dari jam sepuluh malam akan lebih jarang “bangun” menjelang subuh dibanding satu jam pertama. Inilah alasan kenapa notifikasi kadang baru muncul berbarengan begitu kamu mengangkat HP lagi.
Lalu kenapa WhatsApp tetap bisa berbunyi ?
Karena tidak semuanya diblokir. Ada beberapa jalur yang tetap dibolehkan:
- Telepon dan SMS tidak terpengaruh.
- Alarm jam dari aplikasi jam bawaan tetap berbunyi tepat waktu. Kalau tidak, orang bisa telat bangun.
- Pesan prioritas tinggi dari Google (FCM). Aplikasi chat umumnya memakai jalur ini. Pesan jenis ini bisa menembus Doze dan membangunkan aplikasi sebentar untuk menampilkan notifikasi.
Jadi kalau chat telat masuk, biasanya ada dua kemungkinan: aplikasinya tidak memakai jalur prioritas itu dengan benar, atau pabrikan HP-mu menambahkan pembatasan di atas Doze bawaan Android (lebih lanjut soal ini di bawah).
Untuk pengguna: apa yang bisa dilakukan ?
Kalau ada aplikasi penting yang sering telat memberi notifikasi, kamu bisa mengecualikannya dari optimasi baterai. Letaknya agak berbeda di tiap merek, tapi umumnya di Pengaturan > Aplikasi > (pilih aplikasi) > Baterai, lalu pilih opsi Tanpa batasan atau Tidak dioptimalkan.
Tapi jangan asal. Kalau semua aplikasi kamu bebaskan, Doze praktis tidak berguna dan baterai akan lebih cepat habis. Cukup pilih yang memang butuh tepat waktu: aplikasi chat utama, aplikasi bank atau OTP, dan mungkin aplikasi kerja.
Satu hal lagi: di sebagian HP, terutama merek-merek China dan beberapa Samsung, ada pengaturan hemat baterai tambahan seperti autostart, app launch atau background restriction. Ini bukan Doze, tapi pembatasan buatan pabrikan yang sering jauh lebih agresif. Kalau notifikasi masih telat padahal optimasi baterai sudah dimatikan, cek menu-menu tersebut.
Untuk developer: yang perlu kamu pahami
Bagian ini singkat saja, karena intinya adalah memilih alat yang tepat untuk pekerjaan yang tepat.
- Notifikasi dan pesan real-time: pakai FCM dengan prioritas tinggi, jangan membuat koneksi sendiri yang dibiarkan hidup di background. Itu akan terpotong Doze.
- Pekerjaan berkala atau yang boleh ditunda: gunakan WorkManager. Ia sudah memahami Doze dan akan menjalankan tugas saat jendela perawatan terbuka.
- Alarm yang memang harus tepat waktu (pengingat obat, jadwal salat, dan sejenisnya): gunakan
setExactAndAllowWhileIdle()atausetAlarmClock(). Perhatikan bahwa alarm yang diizinkan saat idle punya batas frekuensi, kira-kira satu kali tiap beberapa menit per aplikasi. Di Android versi baru, alarm tepat waktu juga butuh izin khusus. - Minta pengecualian optimasi baterai hanya kalau benar-benar perlu. Google Play membatasi izin ini, dan aplikasi yang memintanya tanpa alasan kuat bisa ditolak saat review.
Cara mengetesnya
Jangan menunggu semalaman untuk melihat perilaku aplikasimu saat Doze. Kamu bisa memaksanya lewat adb:
adb shell dumpsys battery unplug
adb shell dumpsys deviceidle force-idle
Setelah itu, matikan layar dan amati apakah job, alarm, dan notifikasi aplikasimu berperilaku sesuai harapan. Untuk mengembalikan keadaan normal:
adb shell dumpsys deviceidle unforce
adb shell dumpsys battery reset
Tes juga di HP fisik dari beberapa merek. Emulator hanya menunjukkan perilaku Android standar, sementara masalah yang paling sering dikeluhkan pengguna justru datang dari modifikasi pabrikan.
Penutup
Doze bukan bug dan bukan hukuman buat aplikasi. Ia kompromi: sedikit keterlambatan demi baterai yang bertahan lebih lama. Untuk sebagian besar aplikasi, kompromi itu tidak terasa. Baru ketika ada notifikasi penting yang terlambat, orang jadi sadar fitur ini ada.
Kalau kamu pengguna, kenali aplikasi mana yang memang harus selalu siaga. Kalau kamu developer, rancang aplikasimu supaya bekerja bersama Doze, bukan melawannya.
