Tutorial ini menunjukkan cara membekukan proses latar belakang aplikasi apa pun di Android 7.0 dan 7.1 Nougat tanpa root dengan menggunakan perintah ADB tersembunyi.
Android selalu dianggap sebagai platform seluler yang lebih "kuat" jika dibandingkan dengan iOS karena banyaknya kebebasan yang dimiliki aplikasi pihak ketiga. Hal ini memungkinkan banyak otomatisasi terjadi karena aplikasi Android dapat melakukan lebih banyak tugas saat berjalan di latar belakang. Namun, hal ini memiliki sisi negatifnya karena membuka kemungkinan lebih banyak pengurasan baterai karena proses latar belakang yang berjalan pada perangkat.
Mengetahui bahwa Anda mengisi ponsel Anda dengan aplikasi yang berjalan di latar belakang adalah satu hal karena Anda bersedia mengorbankan sebagian masa pakai baterai Anda demi manfaat yang diberikannya. Lain ceritanya jika Anda hanya mengunduh aplikasi tradisional yang tidak dioptimalkan dan menjalankan tugas di latar belakang saat Anda tidak menginginkan atau bahkan membutuhkannya. Google telah berupaya untuk memperbaikinya dengan semakin membatasi apa yang dapat dilakukan oleh aplikasi latar belakang, dan peluncuran Android O membawa sebagian besar pembatasan proses/penerima di latar belakang jauh.
Namun, sebagian besar pengguna tidak akan melihat Android O di perangkat mereka selama beberapa bulan dari sekarang (jika tidak sama sekali). Namun jika Anda sedang berlari Android 7.0 atau Android 7.1, ada trik sederhana yang bisa Anda lakukan secara manual mencegah aplikasi berjalan di latar belakang - dan itu tidak memerlukan root atau aplikasi pihak ketiga. Ini lebih kuat daripada apa yang ditawarkan Greenify atau aplikasi seperti Brevent, karena tanpa akses root, aplikasi tersebut memiliki kemampuan yang terbatas. Namun dengan trik ini, sekarang Anda bisa memblokir aplikasi seperti Facebook atau Hangouts dari pernah berjalan di latar belakang - mereka hanya akan berfungsi jika digunakan secara aktif!
Tutorial Batasi Proses Latar Belakang
Persyaratan:
- Perangkat Android Nougat (7.0 atau 7.1).
- Instal driver USB untuk perangkat khusus Anda OEM (Google menyediakan daftar beberapa driver USB universal di sini).
- Unduh Biner ADB untuk OS khusus Anda (jendela, Mac, Linux). Tautan ini akan selalu mengarah ke versi biner terbaru.
- Ekstrak isi file ZIP ke dalam folder yang mudah diakses di PC Anda.
- Buka aplikasi Pengaturan di ponsel Anda dan ketuk opsi Tentang Telepon.
- Temukan Build Number dan ketuk 7 kali untuk mengaktifkan Mode Pengembang.
- Kembali ke menu utama Pengaturan dan masuk ke Opsi Pengembang sehingga Anda dapat mengaktifkan Mode USB Debugging.
- Hubungkan telepon Anda ke komputer dan ubah dari mode “hanya mengisi daya” ke mode “transfer file (MTP)”. Hal ini tidak diperlukan pada setiap perangkat namun banyak perangkat memerlukan hal ini sebagai langkah keamanan sebelum mengizinkan ADB bekerja.
- Kembali ke PC dan telusuri direktori tempat Anda mengekstrak biner ADB.
- Luncurkan Command Prompt atau Terminal di direktori ADB Anda. Untuk pengguna Windows, hal ini dapat dilakukan dengan menahan Shift dan Klik kanan lalu memilih opsi “open command prompt here”. (Beberapa pengguna Windows 10 mungkin melihat "command prompt" diganti dengan "PowerShell".)
- Setelah Anda berada di lingkungan Command Prompt atau Terminal, masukkan perintah berikut:
adb devices
- Ini akan memulai daemon ADB jika belum diluncurkan, tunggu saja sampai selesai. Jika ini adalah pertama kalinya Anda menjalankan ADB, Anda juga akan melihat perintah di ponsel yang meminta Anda untuk mengotorisasi koneksi dengan komputer. Izinkan akses USB Debugging di sini.
- Sekarang jika Anda menjalankan kembali perintah adb devices dari langkah 10, command prompt/terminal akan mencetak nomor seri perangkat Anda. Jika ya, maka Anda siap untuk melanjutkan. Jika tidak, kemungkinan besar driver USB tidak terinstal dengan benar.
- Anda kemudian perlu mencari nama paket untuk aplikasi yang ingin Anda bekukan proses latar belakangnya. Anda dapat melakukan ini dengan menginstal Inspektur Aplikasi aplikasi di ponsel Anda.
- Kembali ke Command Prompt dan masukkan perintah berikut:
adb shell
- Sekarang jalankan perintah berikut untuk membebaskan proses latar belakang aplikasi:
cmd appops set
RUN_IN_BACKGROUND ignore - Jika Anda ingin mengembalikan perubahan yang baru saja Anda buat dan mengizinkan proses latar belakang aplikasi lagi, masukkan perintah ini:
cmd appops set
RUN_IN_BACKGROUND allow - Anda akan tahu bahwa ini berfungsi jika ini membawa Anda kembali ke prompt shell ADB lain dan tidak memberi Anda pesan kesalahan.
Penjelasan
Cara kerja sebenarnya perintah ini adalah memungkinkan Anda membatasi izin tersembunyi yang biasanya tidak dapat diakses oleh pengguna di aplikasi Pengaturan. Izin ini disebut izin RUN_IN_BACKGROUND dan satu-satunya cara untuk mengubahnya adalah dengan menggunakan "cmd appops" yang merupakan antarmuka baris perintah untuk "App Ops" - sistem manajemen izin yang dapat diakses oleh pengguna Google.
Google menambahkan perintah ADB tersembunyi ini yang memungkinkan Anda membatasi aplikasi apa pun agar tidak menerima maksud siaran implisit (mis. aplikasi aktif di latar belakang) dan juga mencegah aplikasi tersebut menjadwalkan layanan latar belakang tanpa menggunakan JobScheduler (mis. aplikasi terbangun pada waktu yang tidak tepat, sehingga menguras baterai Anda). Perintah ini sebenarnya dimaksudkan untuk digunakan hanya oleh pengembang yang ingin menyimulasikan bagaimana kinerja aplikasi mereka dalam kondisi memori rendah, namun untungnya kami dapat menggunakannya sendiri.
Dengan menghilangkan ketergantungan pada layanan latar belakang aplikasi dan penerima siaran implisit yang terdaftar dalam manifes, pengembang dapat mengoptimalkan aplikasi mereka agar berjalan lebih baik pada perangkat dengan memori rendah. Google mengatakan aplikasi yang dioptimalkan untuk perangkat jenis ini, atau perangkat yang memiliki kondisi memori rendah, dapat meningkatkan kinerja dan pengalaman pengguna. Di Google I/O tahun ini, perusahaan mengumumkan versi modifikasi Android yang disebut Android Go, yang akan digunakan untuk ponsel cerdas dengan memori sangat rendah, jadi kami berasumsi bahwa perintah ini akan berguna bagi pengembang yang menargetkan platform tersebut.
Bagaimanapun, perintah ini bisa sangat berguna bagi rata-rata pengguna, tapi hati-hati dengan apa yang Anda batasi di sini. Aplikasi seperti Hangouts atau Facebook akan berhenti menyinkronkan sepenuhnya di latar belakang sampai Anda membukanya, dan jika ini yang Anda tuju maka saya yakin Anda tidak keberatan. Namun jangan kaget ketika email atau pesan Anda tertunda jika Anda menjalankan perintah ini pada aplikasi yang bergantung pada penerima di latar belakang.