Bagaimana cara menghentikan aplikasi agar tidak terbunuh saat tidur?

11

Saya memiliki Droid 2. Saya memiliki permainan panjang, sumber daya intensif (jiwa spektral) yang ingin saya tinggalkan sementara saya tidak menggunakan ponsel saya. Jika saya menekan tombol Android "Home" untuk kembali ke layar beranda dan kemudian segera meluncurkan kembali game, itu akan tepat di tempat saya tinggalkan. Sama jika saya menekan tombol power untuk tidur, dan kemudian langsung menghidupkan telepon, membuka kunci, dan meluncurkan kembali permainan.

Jika saya meninggalkannya selama beberapa waktu (beberapa jam), maka ketika saya kembali dan meluncurkan permainan, itu mulai segar seolah-olah itu tidak pernah berjalan. Sementara itu, telepon belum digunakan untuk apa pun, meskipun sinkronisasi sedang aktif.

Pertanyaan saya ada dua: bagaimana saya bisa mendapatkan informasi lebih lanjut tentang aplikasi apa yang terbunuh kapan & mengapa, dan bagaimana saya bisa mengaturnya agar aplikasi ini terus berjalan? Saya tidak perlu melakukan apa pun di latar belakang, saya hanya ingin itu tetap ada ketika saya kembali.

Saya akrab dengan konsep Android membersihkan memori seperti yang diperlukan dan tidak memerlukan pembunuh tugas, tapi saya ingin itu tidak membunuh tugas INI kecuali saya benar-benar keluar.

Jason Viers
sumber
Saya menganggap Anda tidak memiliki akses ke kode aktual?
Nanne
Benar, ini adalah aplikasi sumber tertutup yang dibeli dari toko aplikasi.
Jason Viers

Jawaban:

2

Saya cukup yakin itu bukan pilihan dalam desain default Android. Saya tidak pernah secara pribadi melihat aplikasi untuk hal-hal seperti itu karena kebanyakan orang menginginkan program untuk dimatikan untuk menjaga kecepatan ponsel. Ini adalah sistem android yang mematikan program yang tidak digunakan. Pembuat aplikasi harus merancang layanan agar tetap berjalan di latar belakang atau mungkin seperti selalu pada perhitungan atau audio sehingga sistem akan berpikir program melakukan sesuatu. Itu akan menghabiskan baterai Anda.

Nicholas
sumber
Meskipun kalimat pertama dan ketiga Anda benar-benar tepat, yang lain tidak.
Michael
2

Saran: Gunakan Tasker untuk menonaktifkan batas waktu layar untuk aplikasi Anda. Ini dapat mencegahnya dari pergi ke latar belakang.

rAndy
sumber
Saya akan melihat dan mencobanya, terima kasih! Saya akan mencatat setiap keberhasilan atau kegagalan.
Jason Viers
Saya dapat mengonfirmasi bahwa mengubah batas waktu layar di Tasker TIDAK akan mencegah aplikasi terbunuh. Terima kasih atas sarannya.
Jason Viers
1
Tunggu, bukankah ini akan mencegah layar mati? Jadi membuang-buang baterai?
Michael
2

Ke bagian pertama dari pertanyaan Anda;

bagaimana saya bisa mendapatkan informasi lebih lanjut tentang aplikasi apa yang mati kapan & mengapa?

Android SDK memiliki penjumlahan cepat pada Memori Android http://developer.android.com/guide/topics/fundamentals.html

Secara default, setiap aplikasi berjalan dalam proses Linux sendiri. Android memulai proses ketika salah satu komponen aplikasi perlu dijalankan, kemudian mematikan proses ketika tidak lagi diperlukan atau ketika sistem harus memulihkan memori untuk aplikasi lain.

Begitu efektifnya Android dapat diringkas sebagai program yang mematikan ketika itu menentukan Anda tidak menggunakannya (saya mengklik berhenti di aplikasi), atau ketika itu kehabisan sumber daya. Sebagai contoh, Jika Anda memiliki ram 512 MB, dan 10 gratis dan Anda meluncurkan aplikasi yang membutuhkan 12, itu akan mencoba untuk menentukan aplikasi yang paling tidak digunakan itu dapat mengambil dari 12.

Itu cenderung melakukan ini dengan cukup baik (setidaknya dalam pengalaman saya). Anda mungkin bisa pulang dari gim Anda, dan melakukan beberapa hal, tetapi pada hal ketiga itu akan mengusir gim tersebut. Ingatlah bagaimana gim intensif sumber daya khususnya, sehingga kemungkinan akan membunuh aplikasi itu lebih cepat daripada nanti.

Sekarang alasannya menghilang setelah beberapa waktu, adalah bahwa Anda mungkin memiliki proses sinkronisasi yang mencoba memulai dan bersaing untuk sumber daya. Halaman memori aplikasi telah terkena sangat jarang pada saat ini, jadi itu adalah permainan yang adil untuk setiap reklamasi memori yang menurut OS diperlukan.

Untuk pertanyaan kedua Anda;

bagaimana cara mengaturnya agar aplikasi ini dapat terus berjalan?

Saya tidak menggunakan pembunuh tugas, tapi saya cukup yakin yang bagus (sepertinya ATK adalah pemimpinnya https://market.android.com/details?id=com.rechild.advancedtaskkiller&feature=search_result ) memiliki pengecualian daftar. Dimungkinkan untuk memasukkan daftar putih game yang Anda inginkan, dan memasukkan daftar hitam ke proses lainnya.

Saya juga tidak terbiasa dengan game ini, jadi saya tidak yakin apa kemampuan auto-save dan ini. Semoga saya bisa membantu.

Krondor
sumber
1

Bagaimana cara mendapatkan informasi lebih lanjut aplikasi apa yang terbunuh dan mengapa?

Anda dapat menghubungkan ponsel Anda ke adb ; dan kemudian nyalakan logcat ; menyimpan output ke file.
Dalam file log Anda akan memiliki banyak info; dengan mencari nama aplikasi Anda; Anda dapat mencari tahu kapan itu terbunuh.

Apa yang dapat Anda lakukan untuk mencegahnya dihentikan oleh sistem android?
Saya tidak tahu; semoga jawaban Andy akan bekerja.
Namun; Saya akan menghubungi pengembang dan memberitahukan masalahnya, karena ia harus memiliki waktu termudah untuk memperbaikinya

bbaja42
sumber
Saya akan menyebutkan solusi logcat. Hanya ingin menambahkan bahwa Anda sudah terlalu mencari ActivityManager (ini adalah android internal "task killer"). Anda tidak dapat mencegah android dari aplikasi pembunuhan. Gagasan Android adalah bahwa jika suatu proses aplikasi terbunuh sepenuhnya, aplikasi tersebut harus dapat memulihkan keadaan sebelumnya. Jadi pengembang aplikasi harus memastikan bahwa Anda tidak memulai permainan dari awal.
Alur