필요할 때까지 Google지도를 영구적으로 끄는 방법이 있습니까?


24

Google지도에 다른 Intent가 등록되어 있고 다른 시작 방법이있는 것 같습니다.

이것은 매우 리소스가 많은 응용 프로그램 (특히 메모리 현명한)이기 때문에 실제로 필요할 때까지는 영구적으로 실행되지 않기를 바랍니다. 그러나 Android는 연결 상태가 변경되거나 실내에서 자주 발생하는 GPS 또는 네트워크 위치 변경과 같이 항상 계속 시작합니다.

아이콘을 클릭하여 고의로 시작할 때까지 Google지도가 모든 프로세스를 시작하지 않도록하는 방법이 있습니까?

환경 : Droid X, 루팅 주식 Froyo 2.2; 나는이 자동 시작을 . 및 고급 작업 킬러와 Titanium Backup의 Pro 버전이 설치되었습니다.

나는 거의 모든 방법에 상당히 개방적입니다.

  • 신뢰할 수 있습니다.

  • 5 분 동안 다시 구성 할 필요없이 필요할 때 100 % 의도 된 기능으로 Google지도를 사용할 수 있습니다.

  • 이상적으로, 그것을 사용하기 위해 재부팅 할 필요는 없지만 이것은 거래 킬러가 아닙니다.

  • Google지도뿐만 아니라 다른 애플리케이션에도 적용 할 수있는 일반적인 방법을 강력하게 선호합니다.

  • 저는 유닉스 / 리눅스 시스템 관리 경험이 많은 소프트웨어 개발자입니다. 즉, 쉘 프롬프트 또는 쉘 스크립트 작성 / 실행 (또는 Android 스크립팅 환경의 Perl)이 필요한 솔루션은 매우 환영합니다.

    내 Android Java 앱 작성과 관련된 솔루션은 전체 안드로이드 개발 초보자가 100 % 손실없이 최소한의 작업을 수행 할 수있는 것 이상으로 상세하다면 허용됩니다.

내가 시도한 것 :

  • Task Killer를 통한 프로세스 종료는 작동하지 않습니다. 즉각 또는 잠시 후에 다시 시작됩니다. 아마도 의도를 통해 100 % 확실하지는 않습니다.

  • GMap 문제를 제거하는 표준 방법 (Latitude / shut down GPS 및 네트워크 로케이터에서 로그 아웃) 이것은 많은 도움이 될 것 같지만 GPS / 로케이터를 영구적으로 종료 할 필요가 없다는 것을 알게되었습니다.

  • Titanium Backup Pro를 통해 고정하십시오. 재부팅이 필요하며 일반적으로별로 좋지 않습니다.

내가 생각한 가능한 접근 방식 은 다음과 같습니다.

  • 필요하지 않은 경우 Google지도에 등록 된 모든 의도를 완전히 제거 (해제)합니다.

    문제 : 먼저 Google지도가 사용하는 모든 의도를 모르겠습니다.

    둘째, 내가 알고 있다는 것을 수행의 유일한 실용적인 방법은 가능한 해결책이 아니다 자동 시작 응용 프로그램입니다 - 그것은 소요 ~ 찾아 모든 의도를 다시 활성화하기 위해 5 ~ 10 분 나는 알고있다을 (자동 시작은 당 정말 좋지 -app 의도 관리-의도에 따라 조정 됨) Autostarts가 알지 못하는 가능한 의도를 신경 쓰지 마십시오 (블랙 박스이므로 누락 된 의도가 있는지 모르겠습니다).

  • JAR 파일의 이름을 바꾸거나 안드로이드에 어떤 실행 파일이 말에서 (전체의 .apk?)이다하는 스크립트 되세요 GoogleMaps.apkGoogleMaps.disabled.apk다시합니다.

    문제 : 이것이 뿌리 Froyo에서 가능한지 모르겠습니다. 또한 Google지도는 DroidX에 사전 설치되었으므로 이름 변경은 업데이트에만 영향을 주지만 원래 앱에는 영향을 미치지 않습니까?

  • APK로 이동하고 해당 앱의 의도를 제거하기 위해 매니페스트 파일의 이름을 바꾸거나 이동 / 비우는 스크립트를 작성하십시오.

    문제 : 다시 컴파일해야합니까? 반드시 마이너스 인 재부팅이 필요합니다.


2
"필요할 때까지 Google지도를 영구적으로 사용 중지 할 수있는 방법이 있습니까?"라는 메시지가 표시됩니다. " Google지도 시작을 영구적으로 중지 해야 합니까?"또는 "GMap을 계속 실행하고 배터리 수명을 유지하기위한 해결 방법은 무엇입니까?" 라고 묻지 않습니다 .
DVK

"Titanium Backup Pro를 통한 동결. 재부팅이 필요하며 일반적으로 그다지 좋지 않습니다." 그 흥미 롭군요. 모든 앱 또는지도와 같이 더 내장 된 무언가에 적용됩니까?
Chance

@ 찬스-내 인상은 모든 앱에 대한 것입니다.
DVK

3
실제로 사용해 보셨습니까? 전에 Ti-Bu를 사용하여 앱을 정지 시켰으며 재부팅 할 필요가 없었습니다.
Chance

@Chance-내가 얼어 붙은 내 앱은 재부팅 할 때까지 메모리에 다시 스폰되는 것을 멈추지 않았습니다. 내가 잘못하고 있었을 수도 있습니다-최근 TBPro를 사용하기 시작했습니다.
DVK

답변:


5

Titanium Backup에 대한 언급에서 귀하의 장치가 루팅되었다고 가정합니다. 그래서 여기에 절대 추천은 AutoRun Manager입니다 (그렇습니다, 당신은 Pro가 필요합니다-두 번째는 가치가 있습니다). 설치 한 후 앱을 열고 "고급 모드"를 사용하여 수정하려는 앱을 찾으십시오 (귀하의 경우 : Google지도). 확장하십시오. ARM은 모든 리스너를 표시합니다. 비활성화합니다.

그게 다야. 명시 적으로 시작하지 않으면 더 이상 깨우지 않습니다. 그러나 시작하기 전에 해당 청취자를 다시 활성화해야하거나 이상한 부작용이 발생할 수 있습니다 (내가 한). 다른 한편으로는, 적어도 재부팅이 필요하지 않습니다.

기술적 인 세부 정보를 보려면 과의 인 텐트 연관을 관리하는 방법 또는 AOSP 개발자 매뉴얼인 텐츠 섹션 으로 직접 들어가는 방법 질문을 교차 점검 할 수 있습니다 .


16

먼저 태스크 킬러 사용을 중지하는 것이 좋습니다 . 배터리를 절약하는 것보다 배터리를 많이 소모합니다. 시스템이 서비스를 실행해야 할 때 배터리를 사용하는 서비스를 다시 시작합니다.

둘째, 메모리 확보가 좋은 것으로 가정합니다. 그렇지 않습니다. 메모리를 확보해도 배터리 사용량이 줄어들지 않습니다. 실제로 찾아야 할 것은 많은 CPU주기를 사용하는 앱입니다. 이것이 바로 배터리 소모입니다.

Android는 Linux를 기반으로합니다. 여유 메모리는 메모리 낭비이므로 Linux는 항상 사용 가능한 모든 메모리를 사용하려고합니다. 안드로이드 시스템은 사용하지 않는 응용 프로그램의 메모리를 공개하여 다른 응용 프로그램이 필요할 때 사용할 수 있도록 관리합니다.

실행 중이고 메모리를 차지하는 응용 프로그램을 시도하고 종료하더라도 시스템은 이러한 서비스 / 앱을 다시 시작합니다. 이로 인해 시작시 발생할 수있는 동기화 또는 CPU 사용 주기만으로 인해 배터리가 소모 될 수 있습니다. 응용 프로그램을 초기화합니다. 응용 프로그램을 종료하면 응용 프로그램을 시작하려고 할 때 응용 프로그램 사용자 인터페이스를 표시하기 전에 정상적으로 실행중인 항목을 다시 시작해야하기 때문에 장치가 느리게 나타납니다.

GPS, Wi-Fi, 블루투스 및 데이터 사용과 같은 배터리 소모를 유발하는 몇 가지 사항은 송수신되는 데이터를 처리하기 위해 CPU를 훨씬 더 많이 사용하게됩니다. 사용하지 않을 때이 기능을 끄면 배터리 소모가 줄어 듭니다. 장치에 배터리가 부족하여 94 % 이상 충전되지 않아도 필요하지 않은 경우 이러한 서비스를 끄면 12 시간 이상 배터리를 사용할 수 있습니다.

나는 항상 Google지도를 사용하며 배터리 통계에서는 리소스를 사용하는 앱으로 나열되지 않았습니다. 배터리가 가장 높은 사용자는 Screen @ 31 %이고 가장 낮은 배터리는 GMail @ 3 %입니다. Google지도는 배터리 소모의 원인이 아닙니다. 작업 킬러를 사용하는 것이 원인 일 가능성이 높습니다. 내가 말했듯이 거의 매일 지시에 Google지도를 사용하며 배터리를 사용하는 상위 10 개 앱에도 포함되어 있지 않습니다.

로부터 작업 살인범에 대한 자세한 내용은 구글 안드로이드 개발자 블로그 .

Android 멀티 태스킹에 대한 일반적인 오해는 프로세스와 애플리케이션의 차이입니다. 안드로이드에서 이것들은 밀접하게 결합 된 실체가 아니다 : 어플리케이션은 현재 앱을 실행하는 실제 프로세스없이 사용자에게 존재할 수있다. 여러 응용 프로그램이 프로세스를 공유하거나 하나의 응용 프로그램이 필요에 따라 여러 프로세스를 사용할 수 있습니다. 응용 프로그램이 적극적으로 작업을 수행하지 않는 경우에도 Android에서 응용 프로그램의 프로세스를 유지할 수 있습니다.

응용 프로그램의 프로세스가 "실행 중"이라고 볼 수 있다고해서 응용 프로그램이 실행 중이거나 수행중인 것은 아닙니다. 안드로이드가 어느 시점에서 필요했기 때문에 단순히 거기에있을 수 있으며 다시 필요할 때를 대비하는 것이 가장 좋습니다. 마찬가지로, 응용 프로그램을 약간 남겨두고 중단 한 곳에서 다시 돌아올 수 있으며 그 기간 동안 Android는 다른 작업에 대한 프로세스를 제거해야 할 수도 있습니다.

Android가 이러한 방식으로 애플리케이션을 처리하는 방법의 핵심은 프로세스가 완전히 종료되지 않는다는 것입니다. 사용자가 응용 프로그램을 떠날 때 프로세스는 백그라운드에서 유지되므로 필요한 경우 작업을 계속할 수 있으며 (예 : 웹 페이지 다운로드) 사용자가 다시 돌아 오면 즉시 포 그라운드로 돌아옵니다. 기기에 메모리가 부족하지 않으면 Android는 이러한 모든 프로세스를 계속 유지하여 모든 애플리케이션을 항상 "실행"상태로 둡니다.

물론, 메모리는 제한되어 있으며,이 안드로이드를 수용하기 위해 필요하지 않은 프로세스를 언제 제거해야하는지 결정해야합니다. 이는 Android의 프로세스 수명주기, 각 프로세스가 얼마나 중요한지 결정하는 데 사용되는 규칙, 따라서 제거해야 할 다음 프로세스로 이어집니다. 이 규칙은 프로세스가 사용자의 현재 경험에 얼마나 중요한지, 그리고 프로세스가 사용자가 마지막으로 필요로 한 이후의 시간을 기준으로합니다.

안드로이드가 프로세스를 제거해야한다고 결정하면이 프로세스는 잔인하게 강제 처리됩니다. 그런 다음 커널은 해당 응용 프로그램이 제대로 작성되고 정중 한 요청에 응답하지 않고 프로세스에 필요한 모든 리소스를 즉시 회수 할 수 있습니다. 커널이 애플리케이션 리소스를 즉시 회수 할 수있게하면 심각한 메모리 부족 상황을 피하기가 훨씬 쉬워집니다.

나중에 사용자가 종료 된 응용 프로그램으로 돌아 가면 "모든 응용 프로그램이 항상 실행되고 있습니다"라는 경험을 유지하기 위해 마지막으로 본 상태와 동일한 상태로 다시 시작할 수있는 방법이 필요합니다. 이는 사용자가 알고있는 응용 프로그램 부분 (활동)을 추적하고 마지막으로 본 상태에 대한 정보로 다시 시작하여 수행됩니다.이 마지막 상태는 사용자가 해당 부분을 떠날 때마다 생성됩니다. 응용 프로그램을 종료 할 때가 아니라 응용 프로그램에 의존하지 않고 나중에 커널이 해당 응용 프로그램에 의존하지 않고 자유롭게 종료 할 수 있도록합니다.

어떤면에서, 안드로이드의 프로세스 관리는 스왑 공간의 형태로 보일 수 있습니다 : 애플리케이션 프로세스는 일정량의 사용중인 메모리를 나타냅니다. 메모리가 부족하면 일부 프로세스가 종료 (스왑 아웃) 될 수 있습니다. 해당 프로세스가 다시 필요할 때 마지막 저장된 상태 (스왑 된 상태)에서 다시 시작할 수 있습니다.

다음은 작업 킬러가 배터리를 소모하는 방법에 대한 다른 기사입니다.

자동 작업 제거 소프트웨어
사용하지 마십시오. 자동 작업 킬러를 사용하면 긴 배터리 소모 (배터리가 이미 빨리 소모되지 않는 것처럼), 배터리가 과열되고 프로그램이 종료 될 수 있습니다. (충돌) 무작위로 – 실제로 사용하려는 프로그램. 이것에서 멀리 떨어지십시오!

당신이 그것을 사용하고 싶을 때까지 당신이 정말로 "지도 중지"에 설정되어 있다면 당신이 할 수있는 한 가지는 티타늄 백업에서 동결 옵션을 사용하는 것입니다. 이렇게하면 기본적으로 장치에서 응용 프로그램이 제거되며 응용 프로그램을 중지 할 때까지 해당 응용 프로그램과 관련된 서비스는 시작되지 않습니다.


1
메모리를 확보하면 Droid X가 ~ 30-40MB의 속도로 매우 느리게 크롤링되고 70MB 이상의 여유 공간으로 합리적으로 응답하고 빠릅니다. 미안하지만 실제로 적용되지 않는 좋은 이론입니다.
DVK

또한 Android 메모리 관리자가 웹 브라우저를 종료하면 열려있는 탭이 모두 없어져 Google지도를위한 공간을 확보하게되므로 생산성이 크게 향상됩니다.
DVK

4
나는 당신에게 무엇을 겪고 있는지는 위약 효과입니다. 사용 가능한 메모리는 장치를 더 빨리 실행하지 못하고 사용 가능한 CPU는 그렇지 않습니다. 나는 (오른쪽 구글에서) 작업 살인범의 주제에 대한 당신을위한 또 다른 참조 포함 시켰습니다
라이언 콘래드

2
작업 킬러를 사용하면 배수가 발생하고, 나는 왜 대답했는지 설명했습니다. 또한 전체 답변을 읽으면 앱을 고정시켜 티타늄 사용 문제에 대한 정확한 답변을 제공합니다.
Ryan Conrad

3
@Chance no. 실제로 실제로 실행되고 있지 않은 프로세스를 종료하면 시스템은 결국 해당 프로세스를 백업해야하고 CPU를 사용할 "모든 초기화"를 수행합니다. 프로세스가 실행되고 있다고해서 실제로 그 시점에서 무언가를하고 있다는 의미는 아닙니다.
Ryan Conrad

11

가능한 솔루션으로 맵을 설치 제거하고 다시 설치하는 것에 대해 생각해 보셨습니까?

  1. 먼저 /system/app/Maps.apk파일 을 삭제하여 미리로드 된지도를 제거 하십시오.

    su  
    rm /system/app/Maps.apk
    

    시스템 앱이 업데이트되면 / system / app 폴더에서 쓸모가 없어 안전하게 삭제할 수 있습니다.

  2. 그런 다음 현재지도 버전을 SD 카드에 복사하십시오.

    cp /data/app/com.google.android.apps.maps*.apk /sdcard/
    
  3. 이제지도 앱을 제거하십시오.

    pm uninstall -k com.google.android.apps.maps
    

    "-k"스위치는 앱을 다시 설치할 때의 설정을 유지합니다.

  4. 이제지도를 다시 가져 오려면 백업에서 다시 설치하면됩니다.

    pm install -r /sdcard/com.google.android.apps.maps*.apk
    

GScript 를 통해 이러한 단계를 자동화하면 스크립트 바로 가기를 만들 수 있습니다. 따라서 3 단계의 명령으로 "Disable Maps"라는 스크립트와 4 단계의 명령으로 "Enable Maps"라는 스크립트를 작성하십시오 (둘 다 "SU 필요?").

이제 Android의 일반적인 "바로 가기 추가"방법을 사용하여 생성 한 스크립트에서 홈 화면에 2 개의 GScript 단축키를 추가 할 수 있습니다 (GScript가 옵션 중 하나임).

이 방법의 유일한 단점은 제거 할 때 홈 화면에서지도 바로 가기 (및 / 또는 위젯)를 잃어 버릴 가능성이 있으며 다시 설치 한 후에 다시 추가해야한다는 것입니다. 물론 앱 서랍에서지도를 시작할 수 있습니다.


지도가 내 DroidX에 사전 설치되어 있다는 사실 때문에이 절차에 부정적인 영향을 미칩니 까? 아니면 ROM에 없었습니까? 훌륭한 아이디어를 위해 +1!
DVK

2
APK의 시스템 버전을 먼저 제거하지 않으면 제거가 실패합니다. 일반적으로 시스템 앱이 Market에서 업데이트되면 / system / app / 폴더에있는 해당 APK를 안전하게 삭제할 수 있습니다.
Chahk

1
@Chank-Verizon bloatware가 아니라고 가정합니다. 루트가있는 한 실제로 시스템 버전을 제거 할 수 있습니까? :)
DVK

1
휴대 전화가 루팅되어있는 한 / system / app에서 Maps.apk를 제거하는 데 문제가 없어야합니다.
Chahk February


1

티타늄 백업 홈페이지 시장 링크 의 동결 기능을 사용하는 것이 좋습니다 . 이 기능을 사용하려면 앱 ($ 6.58)을 등록해야한다고 생각하지만 휴대 전화를 해킹하려면 가격이 가치가 있습니다. 앱을 유료로 지불해야하는 또 다른 주요 이유는 개발자가 무료 소프트웨어를 작성하도록 지원하는 것 외에는 백업 한 앱과 데이터의 일괄 설치 (즉, 백업에서 복원)를 수행 할 수 있기 때문입니다. 그렇지 않으면 표준 앱 설치 대화 상자를 거쳐야합니다.

웹 사이트에서 동결에 대한 정보 :

App freezer는 앱을 제거하지 않고도 앱을 비활성화하고 보이지 않게 할 수 있습니다.

또는 실제로 제거하고 다시 설치할 수 있습니다. 얼어 붙은 이유가 있다는 것을 알 수 있습니다.


죄송하지만 도움이되지 않습니다. 제 질문에, "내가 시도한 것"아래의 글 머리 기호 # 3 : "Titanium Backup Pro를 통한 동결. 재부팅이 필요하며 일반적으로 그다지 좋지 않습니다."
DVK

0

휴대 전화에 옵션이있는 경우 Settings > Applications > Development > Stop app via long-press언제든지이 방법으로 Google지도를 닫을 수 있으며 앱을 다시 열 때까지이 프로세스가 종료됩니다.


-1

휴대 전화를 근절 한 다음 Google Play의 자동 시작 앱을 사용하여지도를 트리거하는 모든 이벤트를 사용 중지합니다. 수동으로 시작하면 정상적으로 실행되지만 죽일 때 계속 사라집니다. After Startup 이벤트 폴더에서 필요없는 다른 항목을 비활성화하여 메모리 소비를 추가로 줄이십시오.


1
질문을주의 깊게 읽었습니까? 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.
DVK
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.