2017-01-30 2 views
1

내 Android 애플리케이션이 (내 액티비티와 동일한 프로세스에서) 로컬 포 그라운드 서비스를 시작합니다. 그러나 시스템은 메모리 부족으로 인해 활동을 파괴하지만 포 그라운드 서비스는 계속 유지됩니다.기존 프로세스에서의 Android 액티비티 시작

다음 번에 사용자가 앱을 시작하면 새로운 프로세스가 시작됩니다. 내 기존 포 그라운드 서비스가이 새로 생성 된 프로세스에 바인딩되는 방법이 있습니까?

하나의 옵션은 Inter-process 통신을 채택하는 것으로 생각하는데, 이는 내가 을 피하고 높은 복잡도로 인해을 피하는 것입니다. 그렇게 할 수있는 다른 방법이 있습니까?

+1

"정상적으로는 아니지만 새로운 프로세스를 시작합니다. 왜 그렇게 할 유일한 이유는 매니페스트에서'android : process' 속성을 사용하고있는 경우입니다. 당신이 있다면, 당신은 그들을 원하지 않아, 그들을 제거하십시오. – CommonsWare

답변

0

감사를 말하며 CommonsWare. documentation에서

: 기본적으로

("메인"스레드라고도 함) 같은 프로세스 및 스레드에서 동일한 응용 프로그램 실행의 모든 ​​구성 요소. 응용 프로그램이 구성 요소가 시작되고 해당 응용 프로그램에 대한 프로세스가 이미 존재하는 경우 (응용 프로그램의 다른 구성 요소가 있으므로) 구성 요소는 해당 프로세스 내에서 시작되고 동일한 실행 스레드를 사용합니다 ( ).

예상대로 동작합니다. 나는 안드로이드 개발에 초보자이고 그것을 몰랐다.

두 번째로 Android Studio에서 디버그로 애플리케이션을 시작했으며 프로세스를 다시 만들었습니다. 이것이 내가 혼란스러워하는 이유입니다.