Fitur manajemen daya dikelompokkan dalam dua kategori:
Kelima bucket memprioritaskan aplikasi ke dalam kelompok menurut karakteristik berikut:
Setiap produsen bisa menetapkan kriterianya sendiri tentang bagaimana aplikasi nonaktif ditetapkan ke bucket. Anda tidak boleh mencoba memengaruhi ke bucket mana aplikasi Anda akan ditetapkan. Sebagai gantinya, fokuskan pada memastikan bahwa aplikasi berperilaku dengan baik di bucket mana pun ia berada. Aplikasi Anda bisa mengetahui di bucket apa saat ini ia berada dengan memanggil metode baru
Catatan: Aplikasi yang ada di Daftar putih Istirahatkan dikecualikan dari pembatasan berbasis bucket aplikasi standby.
Seperti biasa, ada baiknya menguji aplikasi Anda selagi penghemat baterai sedang aktif. Anda bisa mengaktifkan penghemat baterai secara manual melalui layar Settings > Battery Saver di perangkat.
Pastikan menguji kasus penggunaan utama aplikasi Anda pada berbagai kondisi, untuk melihat bagaimana fitur manajemen daya berinteraksi satu sama lain. Anda bisa menggunakan perintah-perintah Android Debug Bridge untuk mengaktifkan dan menonaktifkan sebagian dari fitur ini.
Untuk informasi mengenai penggunaan ADB guna memasukkan perangkat Anda dalam Istirahatkan, lihat Pengujian dengan Istirahatkan dan Aplikasi Standby.
Catatan: Anda juga bisa menggunakan layar Settings > Battery saver di perangkat untuk memasukkan perangkat dalam mode penghemat baterai.
Untuk menyimulasikan perangkat yang sedang dicabut dari stekernya, gunakan perintah
- Bucket aplikasi standby
- Sistem membatasi akses aplikasi ke sumber daya perangkat seperti CPU atau baterai, berdasarkan pola penggunaan dari pengguna. Ini adalah fitur baru untuk Android 9.
- Peningkatan penghemat baterai
- Bila penghemat baterai diaktifkan, sistem akan memberlakukan pembatasan pada semua aplikasi. Ini adalah peningkatan atas fitur yang sudah ada pada Android 9.
Bucket Aplikasi Standby
Android 9 memperkenalkan fitur manajemen baterai baru, Bucket Aplikasi Standby. Bucket Aplikasi Standby membantu sistem memprioritaskan permintaan aplikasi akan sumber daya berdasarkan seberapa baru dan seberapa sering aplikasi digunakan. Berdasarkan pola penggunaan aplikasi, setiap aplikasi dimasukkan dalam salah satu dari lima bucket prioritas. Sistem membatasi sumber daya perangkat yang tersedia pada setiap aplikasi berdasarkan bucket tempat aplikasi berada.Kelima bucket memprioritaskan aplikasi ke dalam kelompok menurut karakteristik berikut:
- Aktif
Aplikasi berada dalam bucket aktif jika pengguna saat ini sedang menggunakan aplikasi tersebut, misalnya:
- Aplikasi telah meluncurkan sebuah aktivitas
- Aplikasi sedang menjalankan layanan latar depan
- Aplikasi memiliki adaptor sinkronisasi yang dikaitkan dengan penyedia konten yang digunakan oleh sebuah aplikasi latar depan
- Pengguna mengklik notifikasi dari aplikasi
- Siap-aktif
- Aplikasi berada dalam bucket siap-aktif jika sering dijalankan namun
saat ini sedang tidak aktif. Misalnya, aplikasi media sosial yang biasanya diluncurkan pengguna setiap hari
kemungkinan akan dimasukkan ke siap-aktif. Aplikasi juga dipromosikan ke
bucket siap-aktif jika digunakan secara tidak langsung.
Jika aplikasi berada dalam siap-aktif, sistem akan mengenakan pembatasan ringan pada kemampuannya untuk menjalankan tugas dan memicu alarm. Untuk detailnya, lihat Pembatasan manajemen daya. - Sering
- Aplikasi berada dalam bucket sering jika rutin digunakan, tetapi tidak mesti
setiap hari. Misalnya, aplikasi pemantau olahraga yang dijalankan pengguna di sasana olahraga
mungkin akan berada dalam bucket sering.
Jika aplikasi berada dalam bucket sering, sistem akan mengenakan pembatasan lebih ketat pada kemampuannya untuk menjalankan tugas dan memicu alarm, juga memberikan kuota pada pesan FCM prioritas tinggi. Untuk detailnya, lihat Pembatasan manajemen daya. - Jarang
- Aplikasi berada dalam bucket jarang jika tidak sering digunakan. Misalnya, aplikasi hotel
yang hanya dijalankan pengguna saat sedang menginap di hotel itu mungkin akan berada di
bucket jarang.
Jika aplikasi berada dalam bucket jarang, sistem akan mengenakan pembatasan ketat pada kemampuannya untuk menjalankan tugas, memicu alarm, dan menerima pesan FCM prioritas tinggi. Sistem juga membatasi kemampuan aplikasi untuk menghubungkan ke internet. Untuk detailnya, lihat Pembatasan manajemen daya. - Tidak pernah
- Aplikasi yang telah diinstal tetapi belum pernah dijalankan akan ditetapkan ke bucket tidak pernah. Sistem akan mengenakan pembatasan berat pada aplikasi ini.
Setiap produsen bisa menetapkan kriterianya sendiri tentang bagaimana aplikasi nonaktif ditetapkan ke bucket. Anda tidak boleh mencoba memengaruhi ke bucket mana aplikasi Anda akan ditetapkan. Sebagai gantinya, fokuskan pada memastikan bahwa aplikasi berperilaku dengan baik di bucket mana pun ia berada. Aplikasi Anda bisa mengetahui di bucket apa saat ini ia berada dengan memanggil metode baru
UsageStatsManager.getAppStandbyBucket()
.Catatan: Aplikasi yang ada di Daftar putih Istirahatkan dikecualikan dari pembatasan berbasis bucket aplikasi standby.
Praktik terbaik
Jika aplikasi Anda sudah mengikuti praktik terbaik untuk Istirahatkan dan aplikasi standby, maka tidak akan sulit menangani fitur manajemen daya yang baru. Akan tetapi, beberapa perilaku aplikasi yang sebelumnya bekerja dengan baik mungkin kini menyebabkan masalah.- Jangan mencoba memanipulasi sistem supaya memasukkan aplikasi Anda ke bucket yang satu atau yang lain. Metode bucketing sistem bisa berubah, dan setiap produsen perangkat bisa memilih untuk menulis aplikasi bucketing mereka sendiri dengan algoritmenya sendiri. Sebagai gantinya, pastikan aplikasi Anda berperilaku dengan semestinya, di bucket apa pun ia berada.
- Jika aplikasi tidak memiliki aktivitas peluncur, aplikasi mungkin tidak akan pernah dipromosikan ke bucket aktif. Anda mungkin perlu mendesain ulang aplikasi agar memiliki aktivitas demikian.
- Jika notifikasi aplikasi tidak dapat diambil tindakan, pengguna tidak akan dapat memicu promosi aplikasi ke bucket aktif melalui interaksi dengan notifikasi. Dalam hal ini, Anda mungkin perlu mendesain ulang beberapa notifikasi yang sesuai sehingga memungkinkan respons dari pengguna. Untuk beberapa panduan, lihat Desain Material Pola desain notifikasi.
- Demikian pula, jika aplikasi tidak menampilkan notifikasi saat menerima
pesan FCM prioritas tinggi, ini
tidak akan memberi kesempatan kepada pengguna untuk berinteraksi dengan aplikasi dan dengan demikian akan mempromosikannya ke
bucket aktif. Sebenarnya, satu-satunya maksud penggunaan pesan FCM prioritas tinggi adalah untuk
mendorong notifikasi ke pengguna, sehingga situasi ini tidak akan pernah terjadi. Jika Anda
menandai pesan FCM dengan tidak semestinya sebagai prioritas tinggi bila ia tidak memicu
interaksi pengguna, maka ini bisa menyebabkan konsekuensi negatif lainnya; misalnya, ini
bisa mengakibatkan aplikasi Anda kehabisan kuotanya, sehingga menyebabkan pesan FCM
yang benar-benar penting dianggap berprioritas normal.
Catatan: Jika pengguna berulang kali menolak notifikasi, sistem akan memberi pengguna opsi untuk memblokir notifikasi itu di masa mendatang. Jangan sampai pengiriman notifikasi ke pengguna menjadi spam lantaran mencoba membuat aplikasi Anda tetap berada dalam bucket aktif! - Jika aplikasi dipecah menjadi beberapa package, semua package itu mungkin akan berada dalam bucket berbeda dan, karenanya, memiliki tingkat akses yang berbeda. Anda harus yakin untuk menguji aplikasi demikian dengan package yang ditetapkan ke beragam bucket guna memastikan aplikasi tersebut berperilaku dengan benar.
Peningkatan penghemat baterai
Android 9 membuat banyak peningkatan pada mode penghemat baterai. Produsen perangkat menentukan pembatasan yang dikenakan secara presisi. Misalnya, pada build AOSP, sistem menerapkan pembatasan berikut:- Sistem memasukkan aplikasi dalam mode aplikasi standby secara lebih agresif, sebagai ganti menunggu aplikasi tidak aktif.
- Batas eksekusi latar belakang berlaku pada semua aplikasi, apa pun target level API-nya.
- Layanan lokasi mungkin dinonaktifkan bila layar mati.
- Aplikasi latar belakang tidak memiliki akses jaringan.
Seperti biasa, ada baiknya menguji aplikasi Anda selagi penghemat baterai sedang aktif. Anda bisa mengaktifkan penghemat baterai secara manual melalui layar Settings > Battery Saver di perangkat.
Pengujian dan pemecahan masalah
Fitur manajemen daya yang baru memengaruhi semua aplikasi yang berjalan pada perangkat Android 9, baik aplikasi tersebut menargetkan Android 9, maupun tidak. Penting kiranya memastikan aplikasi Anda berperilaku dengan benar pada semua perangkat ini.Pastikan menguji kasus penggunaan utama aplikasi Anda pada berbagai kondisi, untuk melihat bagaimana fitur manajemen daya berinteraksi satu sama lain. Anda bisa menggunakan perintah-perintah Android Debug Bridge untuk mengaktifkan dan menonaktifkan sebagian dari fitur ini.
Perintah-perintah Android Debug Bridge
Anda bisa menggunakan perintah shell Android Debug Bridge untuk menguji sejumlah fitur manajemen daya.Untuk informasi mengenai penggunaan ADB guna memasukkan perangkat Anda dalam Istirahatkan, lihat Pengujian dengan Istirahatkan dan Aplikasi Standby.
Bucket Aplikasi Standby
Anda bisa menggunakan ADB untuk menetapkan secara manual aplikasi Anda ke Bucket Aplikasi Standby. Untuk mengubah bucket aplikasi, gunakan perintah berikut:$ adb shell am set-standby-bucket packagename active|working_set|frequent|rare
Anda juga bisa menggunakan perintah itu untuk menyetel beberapa package sekaligus:$ adb shell am set-standby-bucket package1 bucket1 package2 bucket2...
Untuk memeriksa di bucket apa aplikasi berada, jalankan$ adb shell am get-standby-bucket [packagename]
Jika Anda tidak meneruskan parameter packagename, perintah tersebut akan menampilkan daftar
bucket untuk semua aplikasi. Aplikasi juga bisa mengetahui bucket-nya pada waktu proses dengan memanggil
metode baru
UsageStatsManager.getAppStandbyBucket()
.Penghemat baterai
Ada sejumlah perintah untuk menguji bagaimana perilaku aplikasi Anda dalam kondisi rendah daya.Catatan: Anda juga bisa menggunakan layar Settings > Battery saver di perangkat untuk memasukkan perangkat dalam mode penghemat baterai.
Untuk menyimulasikan perangkat yang sedang dicabut dari stekernya, gunakan perintah
$ adb shell dumpsys battery unplug
Untuk menguji bagaimana perilaku perangkat pada kondisi rendah daya, gunakan perintah ini:$ adb shell settings put global low_power 1
Setelah selesai menguji, Anda bisa mengurungkan setelan perangkat manual
dengan perintah ini:$ adb shell dumpsys battery reset
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.
Source :
Manajemen daya
No comments:
Post a Comment