Google maps tampaknya memiliki jumlah Intent yang gila yang terdaftar untuknya, serta cara-cara lain untuk memulai.
Karena ini adalah aplikasi yang haus sumber daya (terutama memori), saya sangat ingin itu tidak berjalan secara permanen kecuali / sampai saya benar-benar membutuhkannya. Namun, Android terus memulainya setiap saat - misalnya, ketika status konektivitas berubah (yang bagi saya sering terjadi di dalam ruangan), atau GPS / lokasi jaringan berubah.
Apakah ada cara untuk memastikan bahwa Google Maps tidak memulai proses APA PUN, dijamin, sampai saya mengklik ikon untuk dengan sengaja meluncurkannya?
Lingkungan : Droid X, menjalankan rooted stock Froyo 2.2; Saya memiliki Autostarts . dan Advanced Task Killer, serta Titanium Pro versi Pro yang diinstal.
Saya cukup terbuka untuk hampir semua metode selama
Itu bisa diandalkan.
Ini memungkinkan saya menggunakan Google Maps dengan fungsionalitas 100% yang dituju begitu saya TIDAK membutuhkannya, tanpa memerlukan 5 menit kerja untuk mengkonfigurasi ulang.
Idealnya, tidak mengharuskan saya untuk reboot untuk menggunakannya, tetapi yang ini bukan pembunuh kesepakatan.
Saya SANGAT lebih suka metode generik yang akan berlaku untuk aplikasi lain, BUKAN hanya Google Maps.
Saya seorang pengembang perangkat lunak dengan pengalaman administrasi sistem Unix / Linux yang lumayan. Dengan kata lain, solusi yang membutuhkan shell prompt atau penulisan / running skrip shell (atau Perl di Android Scripting Environment) sangat disambut.
Solusi yang melibatkan penulisan aplikasi Java Android saya sendiri dapat diterima selama mereka cukup rinci daripada total pemula pengembangan Android yang dapat menyelesaikan setidaknya beberapa pekerjaan tanpa kehilangan 100%.
Hal yang saya coba:
Membunuh proses melalui Task Killer TIDAK berfungsi - mereka muncul kembali, baik segera atau sebentar lagi. Mungkin melalui Intents tetapi tidak 100% pasti.
Metode standar untuk menyingkirkan masalah GMaps (logout dari Latitude / matikan GPS dan pelacak jaringan). Ini sepertinya banyak membantu TETAPI saya menemukan kebutuhan untuk secara permanen mematikan GPS / locator menjadi tidak dapat diterima - misalnya itu tidak akan membiarkan saya menjalankan aplikasi lokal atau hal-hal Tasker berbasis lokal.
Bekukan melalui Titanium Backup Pro. Ini membutuhkan reboot dan umumnya tidak terlalu menyenangkan.
Kemungkinan pendekatan yang saya pikirkan (tetapi tidak tahu bagaimana melakukannya) adalah:
Entah bagaimana, SEPENUHNYA menghilangkan (mematikan) semua Maksud yang terdaftar oleh Google Maps saat tidak diperlukan.
Masalah: Pertama, saya tidak tahu apa yang SEMUA Maksud dari Google Maps gunakan.
Kedua, satu-satunya cara praktis untuk melakukan itu yang saya tahu adalah aplikasi Autostarts yang BUKAN solusi yang bisa diterapkan - dibutuhkan ~ 5-10 menit untuk menemukan dan mengaktifkan kembali semua maksud yang saya ketahui (Autostarts sangat buruk per manajemen aplikasi -app - itu berpusat pada per-niat), apalagi niat yang tidak diketahui Autostarts (itu adalah kotak hitam, saya tidak tahu niat yang dilewatkan jika ada.
Punya skrip yang akan mengganti nama JAR atau apa pun file yang dapat dieksekusi di Android (seluruh .APK?) Dari say
GoogleMaps.apk
toGoogleMaps.disabled.apk
dan back.Masalah: Saya tidak tahu apakah ini bisa dilakukan pada Froyo yang telah di-root. Juga, Google Maps sudah diinstal sebelumnya di DroidX, jadi apakah penamaan ulang HANYA akan mempengaruhi pembaruan tetapi tidak pada aplikasi aslinya?
Miliki skrip yang akan masuk ke APK dan mengganti nama / memindahkan / mengosongkan file manifes untuk menghapus maksud apa pun untuk aplikasi itu.
Masalah: Apakah ini membutuhkan kompilasi ulang? Pasti membutuhkan reboot yang minus
Jawaban:
Dari Anda menyebutkan Titanium Backup saya menganggap perangkat Anda sudah di-root. Jadi rekomendasi absolut saya di sini adalah AutoRun Manager (dan ya, Anda akan membutuhkan Pro - ya kedua, itu layak). Setelah itu diinstal, buka aplikasi, gunakan "mode lanjutan", cari aplikasi yang ingin Anda modifikasi (dalam kasus Anda: Google Maps). Perluas itu. ARM akan menunjukkan kepada Anda semua pendengarnya - nonaktifkan mereka.
Itu dia. Tidak ada yang membangunkannya lagi kecuali Anda memulainya secara eksplisit. TETAPI: Sebelum Anda memulainya, Anda mungkin perlu mengaktifkan pendengar itu lagi, atau Anda mungkin mengalami efek samping yang aneh (saya lakukan). Di sisi lain, setidaknya ini tidak memerlukan reboot.
Untuk detail teknis, Anda mungkin ingin memeriksa kembali dengan pertanyaan Bagaimana saya bisa mengelola asosiasi niat dengan aplikasi , atau langsung masuk ke bagian Intents dari manual pengembang AOSP .
sumber
Pertama, saya sarankan Anda berhenti menggunakan pembunuh tugas Anda . Mereka menguras baterai Anda lebih dari menghematnya. Sistem me-restart layanan ketika mereka harus menjalankan yang menyebabkan penggunaan baterai.
Kedua, Anda berada di bawah asumsi bahwa membebaskan memori adalah hal yang baik. Bukan itu. Membebaskan memori tidak akan mengurangi penggunaan baterai. Yang benar-benar perlu Anda cari adalah aplikasi yang menggunakan banyak siklus CPU. Inilah yang akan menguras baterai Anda.
Android berbasis Linux. Linux selalu ingin menggunakan semua memori yang tersedia karena memori bebas adalah memori yang terbuang. Sistem android akan mengurus pelepasan memori aplikasi yang tidak digunakan sehingga aplikasi lain dapat menggunakannya saat dibutuhkan.
Bahkan jika Anda mencoba dan mematikan aplikasi yang menjalankan dan mengambil memori, sistem akan me-restart layanan / aplikasi ini, yang akan menyebabkan baterai terkuras karena mereka mungkin memiliki beberapa sinkronisasi yang terjadi ketika memulai, atau hanya siklus CPU yang digunakan untuk menginisialisasi aplikasi. Membunuh aplikasi juga akan menyebabkan perangkat tampak lambat ketika mencoba untuk memulai aplikasi karena sesuatu yang biasanya berjalan sekarang perlu dimulai kembali sebelum menghadirkan antarmuka pengguna aplikasi kepada Anda.
Beberapa hal yang akan menyebabkan baterai kehabisan seperti GPS, wifi, bluetooth, dan penggunaan data akan menggunakan CPU Anda lebih banyak untuk memproses data yang sedang dikirim dan diterima. Mematikan ini saat tidak digunakan akan menghemat banyak baterai. Saya memiliki baterai yang buruk di perangkat saya, bahkan tidak dapat mengisi lebih dari 94%, tetapi saya bisa mendapatkan 12 jam atau lebih dari baterai saya jika saya mematikan layanan ini ketika saya tidak membutuhkannya.
Saya menggunakan google maps sepanjang waktu, dan dalam statistik baterai saya bahkan tidak terdaftar sebagai aplikasi yang menggunakan sumber daya. Pengguna baterai tertinggi saya adalah Layar @ 31%, dan yang terendah ditampilkan adalah GMail @ 3%. Saya dapat meyakinkan Anda, google maps bukanlah penyebab kehabisan baterai Anda. Menggunakan pembunuh tugas kemungkinan besar penyebabnya. Seperti yang saya katakan, saya menggunakan google maps untuk petunjuk arah hampir setiap hari, dan itu bahkan tidak ada dalam daftar 10 aplikasi teratas yang menggunakan baterai saya.
Informasi lebih lanjut tentang pembunuh tugas dari blog Google Android Developers .
Berikut ini adalah artikel lain yang membahas tentang bagaimana para pembunuh tugas akan menghabiskan baterai Anda.
Satu hal yang dapat Anda lakukan jika Anda benar-benar ditetapkan pada "menghentikan peta" sampai Anda ingin menggunakannya adalah menggunakan opsi Freeze di cadangan titanium. Ini pada dasarnya akan menghapus aplikasi dari perangkat dan tidak ada layanan yang terkait dengannya yang akan mulai sampai Anda berhenti membeku.
sumber
Pernahkah Anda berpikir tentang tidak menginstal dan menginstal ulang Maps sebagai solusi yang memungkinkan?
Pertama, singkirkan Maps yang sudah dimuat sebelumnya dengan menghapus
/system/app/Maps.apk
file:Setelah aplikasi sistem diperbarui, tidak ada gunanya di folder / system / app dan dapat dihapus dengan aman.
Kemudian salin versi Maps saat ini ke Kartu SD Anda:
Copot pemasangan aplikasi Maps:
Tombol "-k" menyimpan pengaturan ketika Anda menginstal ulang aplikasi.
Sekarang untuk mendapatkan Maps kembali cukup instal ulang dari cadangan:
Anda dapat mengotomatiskan langkah-langkah ini melalui GScript , yang memungkinkan Anda membuat pintasan ke skrip. Jadi cukup buat satu skrip bernama "Nonaktifkan Peta" dengan perintah dari langkah # 3, dan yang lain bernama "Aktifkan Peta" dengan perintah dari langkah # 4 (centang "Butuh SU?" Untuk keduanya).
Sekarang Anda dapat menambahkan 2 pintasan GScript ke layar beranda dari skrip yang Anda buat dengan menggunakan metode normal "Tambah Pintasan" Android (GScript akan menjadi salah satu opsi di sana.)
Satu-satunya kelemahan dari metode ini adalah kemungkinan besar Anda akan kehilangan pintasan Maps (dan / atau widget) dari layar beranda saat Anda mencopotnya, mengharuskan Anda untuk menambahkannya kembali setelah menginstal ulang. Anda tentu saja masih dapat meluncurkan Maps dari laci aplikasi.
sumber
Dimulai dengan Android 4.0 Ice Cream Sandwich, Anda cukup menonaktifkan Google Maps di pengaturan sistem . Ini tidak akan membantu Anda jika Anda masih terjebak di Froyo, tetapi orang lain mungkin mendapat manfaat darinya.
sumber
Saya sarankan menggunakan fitur Freeze dari tautan pasar beranda cadangan Titanium . Saya yakin Anda harus mendaftarkan aplikasi ($ 6,58) untuk menggunakan fitur ini, tetapi saya yakinkan Anda, itu sepadan dengan harganya jika Anda ingin meretas ponsel Anda. Alasan utama lain untuk membayar aplikasi (selain untuk mendukung pengembang untuk menulis perangkat lunak gratis) adalah untuk dapat melakukan pemasangan batch (yaitu memulihkan dari cadangan) aplikasi dan data yang telah Anda buat cadangannya. Kalau tidak, Anda harus melalui dialog pemasangan aplikasi standar.
Dari situs web tentang pembekuan:
Atau Anda benar-benar dapat melakukan uninstall dan instal ulang. Anda mungkin menemukan ada alasan untuk melakukan itu pada titik beku, saya tidak tahu.
sumber
Jika ponsel Anda memiliki opsi
Settings > Applications > Development > Stop app via long-press
, Anda selalu dapat menutup Google Maps dengan cara ini, maka proses ini terbunuh juga hingga Anda membuka aplikasi lagi.sumber
Rooting ponsel Anda kemudian gunakan aplikasi AutoStarts dari Google Play untuk menonaktifkan semua peristiwa yang memicu Maps. Ini akan berjalan dengan baik ketika mulai secara manual tetapi akan tetap hilang ketika Anda membunuhnya. Nonaktifkan hal lain yang tidak Anda butuhkan di folder acara Setelah Startup untuk mengurangi konsumsi memori.
sumber
Second, the only practical way of doing that that I know of is Autostarts app which is NOT a workable solution - it takes ~5-10 mins to find and re-enable all the intents I am aware of (Autostarts is really poor at per-app intent management - it's centered on per-intent), never mind possible intents that Autostarts does NOT know about (it's a black box, I don't know which intents are missed if any.