Карты Google, похоже, зарегистрировали безумное количество Интентов, а также другие способы запуска.
Поскольку это довольно ресурсоемкое приложение (особенно в отношении памяти), я бы очень хотел, чтобы оно постоянно не запускалось, если / пока оно мне действительно не понадобится. Тем не менее, Android продолжает запускать его все время - например, когда меняется состояние подключения (что для меня случается довольно часто в помещении), или меняется местоположение GPS / сети.
Можно ли гарантировать, что Google Maps не запускает ЛЮБЫЕ процессы, пока я не нажму на иконку, чтобы преднамеренно запустить ее?
Среда : Droid X, работает рутированный сток Froyo 2.2; У меня есть автозапуск . и Advanced Task Killer, а также установленная Pro версия Titanium Backup.
Я достаточно открыт практически для любого метода, пока
Это надежно
Это позволяет мне использовать Карты Google со 100% -ной функциональностью, когда мне это действительно нужно, без необходимости перенастройки в течение 5 минут.
В идеале, не требует, чтобы я перезагружался, чтобы использовать его, но этот не убийца сделки.
Я бы СИЛЬНО предпочел универсальный метод, который был бы применим к другим приложениям, а не только к Google Maps.
Я разработчик программного обеспечения с огромным количеством опыта системного администрирования Unix / Linux. Другими словами, решения, которые требуют приглашения оболочки или написания / запуска сценариев оболочки (или Perl в среде сценариев Android), приветствуются.
Решения, включающие в себя написание моего собственного Java-приложения для Android, являются приемлемыми, если они достаточно подробны, чем тот, что новичок в разработке для Android может выполнить хотя бы некоторую работу без потери на 100%.
Вещи, которые я пытался:
Уничтожение процессов с помощью Task Killer НЕ работает - они возвращаются, сразу или через некоторое время. Возможно, через Intents, но не уверен на 100%.
Стандартные методы избавления от проблем GMaps (выход из Локатора / отключение GPS и определение сети). Это, кажется, очень помогает, НО я считаю, что необходимость постоянного отключения GPS / локатора неприемлема - например, она не позволяет мне запускать приложение Locale или вещи Tasker на основе локали.
Заморозить через Titanium Backup Pro. Это требует перезагрузки и вообще не очень приятно.
Возможные подходы, о которых я подумал (но не знаю, как это сделать):
Каким-то образом ПОЛНОСТЬЮ устраните (отключите) все Контенты, зарегистрированные в Картах Google, когда они не нужны.
Проблемы: Во-первых, я не знаю, что ВСЕ Intents Google Maps использует.
Во-вторых, единственный практический способ сделать это, о котором я знаю, - это приложение «Автозапуск», которое НЕ является работоспособным решением. Требуется ~ 5-10 минут, чтобы найти и снова включить все известные мне цели (Автозапуск действительно плох -app управление намерениями - оно сосредоточено на каждом намерении), не говоря уже о возможных намерениях, о которых Autostarts НЕ знает (это черный ящик, я не знаю, какие намерения пропущены, если таковые имеются).
Есть скрипт , который будет переименовать JARs или независимо исполняемые файлы на Android являются (всего .apk?) От говорят
GoogleMaps.apk
кGoogleMaps.disabled.apk
и обратно.Проблема: я не знаю, возможно ли это сделать на корне Froyo. Кроме того, Карты Google были предварительно установлены на DroidX, так что переименование каким-либо образом повлияет ТОЛЬКО на обновление, но не на оригинальное приложение?
Есть сценарий, который войдет в APK и переименует / переместит / очистит файл манифеста, чтобы удалить любые намерения для этого приложения.
Проблема: для этого потребуется перекомпиляция? Это определенно требует перезагрузки, что является минусом