Eksekusi latar belakang modern di Android
26 October 2018
Ditulis oleh Luiz Gustavo Martins, Partner Developer Advocate, Partner DevRel
Ini adalah seri entri blog ketiga yang menguraikan strategi dan panduan di Android berkenaan dengan daya.
Selama bertahun-tahun, menjalankan tugas-tugas latar belakang di Android telah berkembang. Untuk menulis aplikasi modern, kita harus mempelajari cara menjalankan tugas latar belakang dengan gaya modern.
Untuk meningkatkan masa pakai baterai dan memberikan pengalaman pengguna yang lebih baik, Android telah berkembang selama beberapa rilis untuk menetapkan batas eksekusi latar belakang. Batasan ini meliputi:
Gunakan eksekusi latar belakang dengan bijaksana sehingga Anda bisa mem-build aplikasi keren yang memesona pengguna sembari menghemat baterai mereka. Jika Anda memerlukan informasi selengkapnya tentang mengeksekusi tugas latar belakang di Android, ada konten yang sangat bagus di situs developer Android.
Catatan: WorkManager masih dalam pratinjau publik. Jika Anda memerlukan solusi alternatif sekarang, Anda harus menggunakan JobScheduler, meskipun ini memiliki batasan yang tidak berlaku untuk WorkManager. JobScheduler adalah bagian dari Android Framework, dan hanya tersedia untuk Android API 21 ke atas; WorkManager berfungsi pada API 14 ke atas.
Ucapan Terima Kasih: Seri entri blog ini bisa diproduksi berkat kolaborasi tim DevRel dan Android Framework
Ditulis oleh Luiz Gustavo Martins, Partner Developer Advocate, Partner DevRel
Ini adalah seri entri blog ketiga yang menguraikan strategi dan panduan di Android berkenaan dengan daya.
Selama bertahun-tahun, menjalankan tugas-tugas latar belakang di Android telah berkembang. Untuk menulis aplikasi modern, kita harus mempelajari cara menjalankan tugas latar belakang dengan gaya modern.
Kapan aplikasi berada di latar belakang?
Sebelum memahami apa itu eksekusi latar belakang, kita harus memiliki pandangan yang jelas tentang bagaimana Android memahami aplikasi berada di latar depan. Aplikasi dianggap berada di latar depan jika salah satu dari pernyataan berikut terpenuhi:- Aplikasi memiliki aktivitas yang terlihat, baik yang telah dimulai maupun yang dihentikan sementara.
- Aplikasi memiliki layanan latar depan.
- Aplikasi latar depan yang lain terhubung ke aplikasi tersebut, baik melalui pengikatan ke salah satu layanannya, maupun menggunakan salah satu penyedia kontennya. Misalnya, aplikasi berada di latar depan jika aplikasi lain atau sistem mengaitkan ke:
- IME
- Layanan wallpaper
- Listener notifikasi
- Layanan suara atau teks
- Aplikasi musik saat streaming musik ke mobil Anda. (Kasus khusus Android Auto)
Perubahan eksekusi latar belakang
Menjalankan tugas di latar belakang menghabiskan sumber daya perangkat yang terbatas, seperti RAM dan baterai. Hal ini mungkin mengakibatkan pengalaman pengguna yang buruk. Misalnya, tugas latar belakang dapat menurunkan masa pakai baterai perangkat atau pengguna mungkin mengalami kinerja perangkat yang buruk saat menonton video, bermain game, dan menggunakan kamera.Untuk meningkatkan masa pakai baterai dan memberikan pengalaman pengguna yang lebih baik, Android telah berkembang selama beberapa rilis untuk menetapkan batas eksekusi latar belakang. Batasan ini meliputi:
- Istirahatkan dan Aplikasi Standby, yang membatasi perilaku aplikasi saat layar mati, dan perangkat sedang tidak aktif dan tidak mengisi daya.
- Pembatasan Lokasi Latar Belakang, membatasi seberapa sering aplikasi latar belakang bisa mendapatkan lokasi pengguna saat ini.
- Batasan Layanan Latar Belakang, yang membatasi layanan latar belakang agar tidak dijalankan dan memakai CPU/jaringan secara tersembunyi/tidak terlihat.
- Baru-baru ini, Bucket Aplikasi Standby yang bisa membatasi sumber daya perangkat yang tersedia untuk aplikasi yang tidak digunakan oleh pengguna, dan Pembatasan Aplikasi ketika sistem akan meminta pengguna untuk membatasi akses aplikasi ke sumber daya sistem di latar belakang jika aplikasi menunjukkan perilaku buruk, dan beberapa peningkatan Penghemat Baterai.
Kasus penggunaan dan solusi
Memutuskan fitur mana yang akan digunakan untuk mengimplementasikan eksekusi latar belakang mengharuskan developer untuk memiliki pemahaman yang jelas mengenai apa yang ingin mereka capai, dan dalam batasan apa. Diagram alir ini bisa membantu Anda membuat keputusan:
- WorkManager adalah solusi yang disarankan untuk eksekusi latar belakang, dengan mempertimbangkan semua batasan eksekusi latar belakang OS. Jika Anda perlu menjamin bahwa tugas akan berjalan bahkan ketika ditunda, Anda harus menggunakan WorkManager. API ini memungkinkan Anda menjadwalkan tugas (satu kali atau berulang) serta menggabungkan dan menyatukan tugas. Anda juga bisa menerapkan batasan eksekusi ke sini seperti memicu ketika perangkat sedang tidak aktif atau mengisi daya, atau mengeksekusi ketika penyedia konten berubah.
Salah satu contohnya adalah bila Anda perlu mengompresi log untuk menguploadnya ke server Anda. Untuk melakukannya, Anda bisa membuat dua permintaan kerja:
- Pertama: kompresikan file. Pada langkah ini Anda bisa menambahkan suatu batasan sehingga perangkat harus mengisi daya.
- Kedua: upload ke server. Untuk permintaan ini Anda harus menambahkan batasan konektivitas jaringan sehingga pekerjaan hanya terpicu ketika Anda memiliki koneksi yang valid.
Fitur lain yang menarik dari WorkManager adalah bahwa ia mematuhi fitur manajemen-daya, sehingga jika tugas dijadwalkan untuk berjalan pada waktu yang sudah ditentukan dan perangkat berada dalam mode Istirahatkan pada waktu itu, WorkManager akan mencoba menjalankan tugas selama jendela pemeliharaan jika batasan terpenuhi atau setelah Istirahatkan dicabut.
- Jika tugas yang berjalan lama dijadwalkan sebagai respons terhadap event eksternal seperti menyinkronkan konten online baru, gunakan Firebase Cloud Messaging untuk memberi tahu aplikasi Anda dan kemudian membuat permintaan kerja dengan WorkManager untuk menyinkronkan konten. Anda bisa mempelajari lebih lanjut tentang hal ini di "Notifying your users with FCM".
- Jika aplikasi perlu menyelesaikan tugas yang dimulai pengguna tanpa menunda meskipun pengguna meninggalkan aplikasi atau mematikan layar, seperti ketika navigasi atau memutar musik/video, Anda harus menggunakan Layanan Latar Depan. (Entri blog berikutnya dalam seri ini akan lebih mendalami kasus penggunaan ini.)
- Jika Anda perlu menjalankan tugas pada waktu yang tepat yang memicu tindakan, melibatkan interaksi pengguna, dan tidak bisa ditunda, gunakan AlarmManager (lebih spesifik lagi metode setExactAndAllowWhileIdle). Contoh-contoh alarm waktu meliputi:
- pengingat minum obat
- notifikasi bahwa acara TV akan dimulai.
Kasus Penggunaan | Contoh | Solusi |
Jaminan eksekusi dari pekerjaan yang dapat ditangguhkan |
|
WorkManager |
Tugas dimulai sebagai respons terhadap event eksternal |
|
FCM + WorkManager |
Melanjutkan pekerjaan yang dimulai pengguna yang harus segera dijalankan bahkan bila pengguna meninggalkan aplikasi |
|
Layanan Latar Depan |
Memicu tindakan yang melibatkan interaksi pengguna, seperti notifikasi pada waktu yang tepat. |
|
AlarmManager |
Catatan: WorkManager masih dalam pratinjau publik. Jika Anda memerlukan solusi alternatif sekarang, Anda harus menggunakan JobScheduler, meskipun ini memiliki batasan yang tidak berlaku untuk WorkManager. JobScheduler adalah bagian dari Android Framework, dan hanya tersedia untuk Android API 21 ke atas; WorkManager berfungsi pada API 14 ke atas.
Ucapan Terima Kasih: Seri entri blog ini bisa diproduksi berkat kolaborasi tim DevRel dan Android Framework
Eksekusi latar belakang modern di Android
ReplyDeleteMaksimalkan skill bermain poker dewa anda setiap hari dengan cara bermain di situs resmi Dewa Poker. Dewa Poker menyediakan banyak pilihan game poker online maupun Dewa Poker Online yang bisa anda jadikan sebagai tempat melatih skill bermain Dewapoker anda. Anda cukup mendaftar di link alternatif daftar Dewapoker 2019 dan anda akan diberikan 1 ID Dewa Poker Online untuk anda gunakan bermain di semua situs remsi dewa poker. Silahkan bergabung dengan kami di situs poker online terbaik persembahan Dewapoker. Menangkan kesempatan menjadi jutawan dengan mendapatkan progressive jackpot Dewa Poker yang memiliki total hadiah hingga ratusan juta rupiah. Jangan ragu bermain di Dewapoker, karena Dewa Poker Asia merupakan situs poker resmi Indonesia, Dewapoker situs poker online terpercaya
Main sekarang di Poker88, tempat bermain poker online uang asli terbaik di Indonesia. Poker88 menyediakan berbagai macam pilihan game untuk anda. Cukup dengan mendaftar poker 88 asia dan anda akan mendapatkan 1 ID Poker88 yang bisa anda gunakan untuk bermain semua game poker 88 online yang ada di situs resmi poker88. Jangan khawatir kehabisan uang! Poker88 menyediakan minimal deposit rendah sebesar Rp25.000 sehingga anda bisa bermain di poker88 tanpa menguras kantong anda. Segera daftarkan diri anda di link alternatif resmi poker88 asia hanya di situs poker88. Siapkan diri anda menjadi jutawan baru di lingkungan poker 88.
Sebelum memahami apa itu eksekusi latar belakang, kita harus memiliki pandangan yang jelas tentang bagaimana Android memahami aplikasi berada di latar depan.
ReplyDeleteJudi online adalah suatu permainan yang banyak diminati oleh sebagian orang dari berbagai penjuru dunia karena bisa mendapatkan keuntungan yang besar dan dapat dimainkan kapan pun dan di manapun hanya menggunakan smartphone anda. Keberagaman permainan judi online membuat para pecinta judi bisa memainkan judi yang diinginkan hanya dengan menggunakan 1 akun di situs tertentu. Namun untuk memilih agen taruhan online terpercaya tidak semudah seperti membalikkan telapak tangan begitu saja. Semua pemain judi ketika akan mendaftar di situs taruhan online wajib hukumnya memilih sebuah situs yang sudah produktif dalam pelaksanaan layanannya seperti beberapa situs di bawah ini :
dewa poker
dewapoker
poker 88
poker
dominoqq
WorkManager adalah solusi yang disarankan untuk eksekusi latar belakang, dengan mempertimbangkan semua batasan eksekusi latar belakang OS.
ReplyDeleteSitus judi online sudah sangat terkenal di Indonesia, hanya dengan menggunakan smartphone anda bisa memainkannya di manapun anda berada. Keberagaman permainan judi online membuat para pecinta judi bisa memainkan judi yang diinginkan hanya dengan menggunakan 1 akun di situs tertentu. Namun untuk memilih agen taruhan online terpercaya tidak semudah seperti membalikkan telapak tangan begitu saja. Semua pemain judi ketika akan mendaftar di situs taruhan online wajib hukumnya memilih sebuah situs yang sudah produktif dalam pelaksanaan layanannya seperti beberapa situs di bawah ini :
judi bola
togel hk
togel hongkong
judi bola
dominoqq
These useful tips will help you to learn How to Hack Facebook Messenger Conversations. I had such experience so I know what I am talking about
ReplyDeleteTogel Online
ReplyDeletePrediksi SDY
Syair SDY
Prediksi Togel Hari Ini
Prediksi Jitu
Prediksi Hongkong
Prediksi Sydney
Prediksi HK
Prediksi SDY
Susunan Shio
Tabel Shio 2020
Livedraw Sydney
Prediksi Sidney
Livedraw HK
Livedraw Hongkong
Prediksi Hongkong Malam Ini
بهترین طراحی سایت در تهران توسط شرکت آمینا گروپ
ReplyDelete2025 ke nayi updates ke mutabiq, Ehsaas Program Ahliyat ka process aur bhi asaan aur digital ho gaya hai. Ab mobile aur website dono ke zariye apna status check karna mumkin hai.
ReplyDelete