Apa cara yang tepat untuk menutup aplikasi di Android?


69

Saya baru mengenal platform Android, dan ini mungkin pertanyaan bodoh, tapi ...

Bagaimana Anda menutup aplikasi?

Ketika saya berada di suatu aplikasi, dan saya ingin keluar, saya cukup mengklik "Rumah" dan melanjutkan, tapi saya baru saja menginstal aplikasi Task Manager, dan saya perhatikan semuanya dibiarkan berjalan.

Apakah ada cara untuk keluar dari aplikasi? Atau apakah saya perlu menggunakan Task Manager setiap kali saya keluar sesuatu?


Jawaban:


48

Jika Anda keluar dari aplikasi menggunakan BACKtombol maka itu akan memanggil onDestroy()Aktivitas saat ini, Jika Anda menekannya HOMEhanya memanggil onPause()
Jangan terlalu khawatir tentang hal itu, Aktivitas tidak akan menguras baterai mereka hanya tersisa di memori sehingga mereka dapat dibuka lebih cepat di masa depan.

Saya tidak akan merekomendasikan menggunakan salah satu aplikasi pembunuh tugas itu Android dirancang untuk menjaga hal-hal itu dalam memori karena suatu alasan, menggunakan pembunuh tugas hanyalah satu lagi layanan tambahan yang menarik baterai Anda .. Apa yang perlu Anda perhatikan adalah aplikasi yang menjalankan layanan di latar belakang seperti twitter atau klien email menarik server mereka, aplikasi bagus apa pun yang memiliki layanan seperti itu akan memiliki opsi untuk mematikannya.


1
Saya telah melihat beberapa aplikasi yang tidak makan melalui banyak baterai dalam ini berhenti negara. Yaitu, versi terbaru Google Maps dan game yang saya miliki bernama GalaxIR. Jadi, awasi para pelaku kejahatan dan pastikan untuk menutup mereka dengan benar.
keithjgrant

1
Anda salah, jika makan adonan Anda itu adalah layanan latar belakang.
Nathan Schwermann

5
Memang mungkin untuk memiliki aplikasi yang tidak berkembang dengan baik dan tidak mengikuti siklus hidup aplikasi Android. Misalnya, utas dapat dibiarkan aktif dalam suatu kegiatan bahkan setelah dijeda oleh OS (dengan menekan Rumah), dalam hal ini aplikasi akan terus menggunakan baterai.
jmbouffard

1
Saya telah menemukan bahwa banyak aplikasi tidak keluar ketika saya menekan tombol Kembali. Sebagai contoh: Pandora, G
Clay Nichols

1
(waktu edit saya kedaluwarsa) .... aplikasi lain yang tidak ditutup pada tombol Kembali: Pandora (yang bahkan terus diputar setelah menekan Kembali), Google Play Store, FaceBook, Podkicker. Cara saya menguji adalah dengan mengklik tombol Kembali sampai aplikasi menghilang (biasanya itu membuat saya kembali ke Rumah) dan kemudian menjalankan Easy Task Killer.
Clay Nichols

25

Saya cukup yakin bahwa semua yang pernah saya baca mengatakan bahwa Backtombol adalah cara yang tepat untuk keluar dari aplikasi.

Menekan Homemembuat mereka berjalan di latar belakang sampai Android memutuskan bahwa mereka tidak diperlukan lagi, yang dapat berguna jika Anda hanya perlu beralih di antara aplikasi untuk memeriksa sesuatu (menahan Home selama beberapa detik memberi Anda daftar aplikasi yang baru berjalan Anda dapat beralih kembali ke sebagian besar ponsel) tetapi keluar menggunakan tombol kembali memberitahu aplikasi yang Anda ingin tutup.


3
Dengan menahan Hometombol, daftarkan 6 aplikasi yang terakhir dibuka, bukan yang berjalan.

@ Loïc: ini menunjukkan 8 untuk saya.
ale

1
@LoicWolff, AlEverett Tergantung pada peluncur yang digunakan dan ROM itu sendiri.
t0mm13b

Itu tidak sepenuhnya benar. Aktivitas tidak berjalan di latar belakang di Android.
Dan Hulme

12

Beberapa aplikasi memiliki opsi "Keluar" di menu mereka. Kebanyakan tidak.

Anda tidak perlu khawatir tentang hal itu. Anda bisa pergi ke aplikasi apa pun yang Anda butuhkan selanjutnya. Android melakukan pekerjaan yang cukup bagus membebaskan sumber daya saat dibutuhkan.

Pembaruan : AndroidSpin melakukan beberapa penelitian di dunia nyata .


Tautan yang bagus, ty :)
Flow

7

Aktivitas tidak berjalan di latar belakang

Di Android, aktivitas (yaitu, bagian dari aplikasi yang dapat Anda lihat) tidak pernah berjalan di latar belakang. Mereka hanya dapat berjalan (dan menggunakan daya baterai) saat mereka berada di layar. Aktivitas berhenti berjalan terlepas dari apakah Anda menggunakan rumah atau kembali untuk meninggalkannya. Satu-satunya perbedaan adalah data yang diminta Android untuk disimpan oleh aplikasi, jadi tidak ada opsi yang "jalan yang benar". Itu tergantung pada apa yang ingin Anda lakukan.

Rumah

Jika Anda menggunakan rumah , Android meninggalkan aplikasi dalam keadaan yang sama, sehingga jika Anda kembali lagi nanti (mis. Melalui daftar aplikasi terbaru), itu akan tetap dalam keadaan yang sama dengan yang Anda tinggalkan: di layar yang sama, dengan hal yang sama ditampilkan. Misalnya, jika ini adalah aplikasi email, dan Anda sedang melihat satu email, maka ia akan mengingat email mana yang dulu, dan menunjukkan yang sama kepada Anda.

Akhirnya (setelah sekitar setengah jam), Android menyimpulkan bahwa Anda tidak akan kembali ke aplikasi, jadi itu akan mengatur ulang keadaan ini: lain kali Anda memulai aplikasi, itu akan mulai dari layar depan / utama. Untuk melanjutkan contoh, aplikasi email akan melupakan email dan folder yang Anda lihat, dan menampilkan kotak masuk.

Kembali

Jika Anda menggunakan kembali , Anda memberi tahu Android bahwa Anda tidak ingin kembali ke tampilan ini. Itu akan menghancurkan informasi tentang apa yang Anda lihat segera. Lain kali Anda memulai aplikasi, itu akan menampilkan layar depan (misalnya kotak masuk).

Seperti yang dikatakan orang lain, aplikasi dapat mengontrol perilaku tombol kembali : misalnya, browser web menggunakannya untuk kembali dalam riwayat browser. Yang saya jelaskan adalah perilaku default tombol kembali, dan pengembang didesak untuk menjaga perilaku seperti itu agar tidak membingungkan.

Proses latar belakang di-cache

Metode apa pun yang Anda gunakan, Android akan meninggalkan aplikasi dalam memori (tetapi tidak berjalan) selama mungkin. Ini agar lebih efisien. Ketika Anda kembali ke aplikasi, jika masih dalam memori, Android dapat menjalankannya kembali segera; jika tidak masih dalam memori, maka Android harus menghabiskan waktu dan energi memuat aplikasi dari penyimpanan lagi.

Dalam versi Android lama, aplikasi yang tersisa di memori di latar belakang dengan cara ini dimasukkan dalam daftar "aplikasi yang berjalan". Ini agak membingungkan bagi pengguna - itu membuat orang berpikir aplikasi ini benar-benar masih berjalan - jadi versi yang lebih baru menyebut aplikasi ini "proses latar belakang yang di-cache", untuk membuatnya jelas mereka hanya di-cache, tidak berjalan.

Bagaimana dengan aplikasi latar belakang?

Sebelumnya, saya mengatakan bahwa kegiatan tidak berjalan di latar belakang. Jadi, bagaimana klien email Anda memeriksa surat? Selain aktivitas, aplikasi dapat memiliki layanan . Layanan tidak memiliki GUI untuk Anda lihat atau berinteraksi dengan, tetapi mereka berjalan di latar belakang. Biasanya, layanan hanya akan berjalan jarang, seperti memeriksa surat sekali dalam satu jam, tetapi pengembang aplikasi mungkin menjalankannya sepanjang waktu, menguras baterai Anda.

Meninggalkan aktivitas dengan punggung atau rumah tidak mengubah cara Android memperlakukan layanan apa pun dari aplikasi yang sama: layanan dapat terus berjalan, atau dipicu di lain waktu pada waktu yang ditentukan (lain kali pemeriksaan surat tiba waktunya).

Ringkasan

Singkatnya, tidak masalah apakah Anda menggunakan kembali atau di rumah : itu hanya mengubah apa yang ditampilkan aplikasi saat Anda menjalankannya berikutnya. Itu tidak berpengaruh pada penggunaan baterai. Tak satu pun dari mereka sesuai dengan "keluar" dari program di PC Anda.


Saya sangat senang seseorang menutupi ini! Saya seorang pengembang, tapi saya dulu bekerja untuk Verizon Wireless dan saya tidak bisa memberi tahu Anda berapa banyak orang yang khawatir tentang ini ketika tidak perlu.
Roan

3

Di Android, aplikasi tidak pernah perlu ditutup dan OS menangani pembersihan memori aplikasi yang tersisa saat sumber daya dibutuhkan di tempat lain. Menggunakan task killer hanya akan merusak operasi normal OS dan bahkan dapat memperlambat perangkat karena aplikasi akan selalu harus dimuat ulang dari awal.

Siklus hidup aplikasi Android berfungsi sedemikian rupa sehingga aplikasi yang tidak di atas dipindahkan dalam keadaan dijeda yang tidak menggunakan cpu lagi; hanya konten memori yang disimpan jika aplikasi dibuka lagi; dan memori akan dibebaskan jika diperlukan.

Oleh karena itu, pengembang aplikasi memiliki tanggung jawab untuk mengikuti siklus hidup aplikasi ketika ia membuat aplikasi sehingga beberapa bug atau kesalahan dapat terjadi yang akan menghasilkan aplikasi yang tidak pernah benar-benar berhenti atau berhenti. Jika Anda menemukan aplikasi seperti itu dan apa yang harus ditutup, Anda dapat melakukannya melalui "Pengaturan" -> "aplikasi" -> "Kelola aplikasi" dengan memilih "Berhenti paksa" pada aplikasi.

Tapi saya benar-benar tidak akan merekomendasikan menggunakan pembunuh tugas yang terus berjalan di perangkat.


1

Hanya ingin menambahkan jawaban schwiz bahwa itu hanya beberapa baris kode yang diperlukan untuk mengganti fungsi tombol kembali. Jadi tidak selalu dapat diandalkan untuk menutup aplikasi. Jadi jika pengembang aplikasi tidak ingin menutup aplikasi dengan menekan tombol kembali, itu tidak akan ditutup.

Meskipun sebagian besar pengembang aplikasi yang baik memunculkan dialog peringatan tentang menekan tombol kembali pada menu beranda aplikasi, menanyakan apakah pengguna berniat untuk keluar dari aplikasi atau tidak, jika Anda mengeklik saat keluar, ia akan menutup aplikasi.

Jawaban yang benar bisa berupa ini, penutupan aplikasi sepenuhnya ada pada pengembang aplikasi, jika mereka ingin aplikasi ditutup dengan menekan tombol beranda, mereka akan memasukkan kode keluar onPause(). Jika mereka menginginkannya di tombol kembali, mereka akan memasukkannya ke dalam onBackKeyPressed. Jadi itu tidak benar-benar di tangan pengguna.

Pengguna bisa menghindari menggunakan aplikasi yang tidak menyediakan fungsionalitas penutupan yang tepat, saat tidak diperlukan. Pengelola tugas bukan cara yang baik untuk menutup aplikasi, karena itu bisa merusak aplikasi dan tidak memberi mereka kesempatan untuk menyelamatkan negara mereka.

OS menutup aplikasi kapan pun diperlukan, jadi Anda tidak perlu terlalu khawatir tentang hal itu.

Sunting:
Ada opsi untuk menghancurkan aplikasi, segera setelah Anda meninggalkan aplikasi yaitu ketika Anda mengklik tombol home. Anda dapat pergi ke Settings-> Developer Options-> Don't keep Activities. Meskipun ini opsi pengembang, tetapi jika Anda terlalu khawatir tentang aplikasi yang berjalan di latar belakang, Anda dapat menggunakan opsi ini. Namun perlu diingat bahwa itu tidak dianjurkan untuk digunakan oleh non-pengembang.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.