2011-03-24 7 views
1

나는 메모리 집약적 인 프로세스를 실행해야하며 사용자가 계속 응용 프로그램을 사용할 수 있도록해야합니다. 이 프로세스가 실행되는 동안 사용자가 앱을 사용하면 애플리케이션에서 메모리 오류가 발생합니다. 다음 코드는 다른 앱에서 앱을 시작합니다. 자체 메모리 공간으로 활동 또는 서비스 시작

ntent intent = new Intent(Intent.ACTION_MAIN); 
intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity")); 
startActivity(intent); 

그것은 새로운 응용 프로그램과 같은 응용 프로그램 내에서 살고있는 활동 또는 서비스를 시작하거나 현재 실행중인 응용 프로그램의 메모리 공간 외부에서 실행 한 수 있습니까?

android : launchMode 속성에 대해 읽었지만 속성 값이 작동하지 않는 것처럼 보입니다.

글로벌 서비스를 만드는 방법에 대해서도 읽었지만 문서에서는 서비스가 실행되는 위치에 대해 아무 것도 언급하지 않습니다. 글로벌 서비스가 자체 메모리 공간이나 응용 프로그램의 메모리에서 실행됩니까?

의견을 보내 주시면 대단히 감사하겠습니다.

크리스

답변

3

은 내가 http://developer.android.com/reference/android/app/Service.html

"우리는 원격 프로세스 (대신 그 .apk 파일의 표준 하나)이 서비스 실행을 확인하려면, 우리는 안드로이드를 사용할 수 있습니다에서 답을 찾은 것 같아 : 매니페스트 태그의 과정은 하나를 지정합니다 : "

<service android:name=".app.MessengerService" android:process=":remote" /> 

"여기에 선택한 이름을 "원격은"임의합니다, 당신은 추가 프로세스를 원하는 경우 다른 이름을 사용할 수있는이. ':'접두사를 추가 패키지의 표준 프로세스 이름에 이름을 지정하십시오. "

원격 프로세스는 응용 프로그램 외부에 자체 메모리 공간이 있음을 의미한다고 가정합니다. 나는 그것이 작동하지 않으면 업데이 트를 게시 할 것입니다.

+0

감사합니다. 정확히 내가 원하는 것 :) – Croplio