2012-02-11 3 views
2

문제를 해결하기가 어렵습니다. 내가 시장에서 내 응용 프로그램을 설치하면Android - onCreate가 출시 될 때마다 호출됩니다.

, 나는 가끔 다음과 같은 동작을 참조하십시오

  1. 멀리 응용 프로그램에서 탐색을 중지시는, 응용 프로그램에 반환
  2. 예상대로 주요 활동에서 onCreate를 호출 호출 onRestart/onResume 대신

onCreate는 사용자가 앱을 떠날 때마다 계속 호출됩니다. 분명히 이로 인해 주 등의 측면에서 큰 문제가 발생합니다.

경우에 따라 전화를 재부팅하면이 문제가 해결되는 경우가 있습니다. .adb에서 설치하면이 동작을 방지 할 수 있습니다. (이미 실행 중) 아이콘을 터치에 응용 프로그램을 행동에서

로그 : 엉망 응용 프로그램에서

2-10 18:56:33.855: INFO/ActivityManager(1482): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.sidekickApp/.Main } from pid 1604 
02-10 18:56:33.855: VERBOSE/HtcAppUsageStats(1482): (launch app, package): (Sidekick App, com.sidekickApp) 
02-10 18:56:33.865: DEBUG/PhoneWindow(1604): couldn't save which view has focus because the focused view [email protected] has no id. 
02-10 18:56:33.865: DEBUG/Background traffic light(1604): traffic light: GREEN, mBackgroundTrafficLight = false 
02-10 18:56:33.895: VERBOSE/Main(2648): Debug: onRestart() 
02-10 18:56:33.895: DEBUG/Main(2648): Debug: onResume() 

로그 :

02-10 18:39:35.813: INFO/ActivityManager(1477): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.sidekickApp/.Main bnds=[360,586][477,704] } from pid 1583 
02-10 18:39:35.843: VERBOSE/HtcAppUsageStats(1477): (launch app, package): (Sidekick App, com.sidekickApp) 
02-10 18:39:35.873: DEBUG/Background traffic light(1583): traffic light: GREEN, mBackgroundTrafficLight = true 
02-10 18:39:35.903: VERBOSE/Main(7364): Debug: onCreate() 

여기 필사적입니다. 어떤 아이디어?

+0

나는 그것이 예측 불가능한 및 보증되지라고 생각합니다. 응용 프로그램 acitivty가 스택에 없으면 oncreate가 호출되고 그렇지 않으면 onResume이 호출됩니다. 이것은 수명주기입니다. – kosa

답변

-1

이것은 실제로 마켓과는 아무런 관련이 없습니다. Android에서 앱을 메모리에 유지할 수있는 충분한 리소스가없는 경우 메모리에서 앱이 삭제되고 프로세스가 종료되고 다음에 앱을 시작할 때 onCreate이 다시 호출됩니다. 아마 그런 일이 생기면 마켓은 그런 식으로 설치하고 기술 된 행동을 일으킬 때 모든 장치의 메모리를 다 소비하고 있습니다.

+0

이것은 처음에는 생각했지만 로그를 보면 앱이 백그라운드에서 계속 잘 진행됩니다. 아이콘을 다시 클릭하고 onCreate가 호출 될 때까지 충돌이나 onDestroy 또는 이상한 것이 없습니다. – TomBomb

+0

흠 ... 이상 하네. 앱이 예상대로 제대로 실행되고 올바르게 작동합니까? 문제가 생기면 logcat이 더 밝아 질 수 있습니다 (설명하는 내용이 일반적인 앱주기에 위배되기 때문에) – aviraldg

+0

예, 시작되었으며 정상적으로 작동합니다. 유일한 문제는 사용자가 앱으로 돌아올 때 주 활동을 다시 만드는 것입니다. – TomBomb

2

onStop()이 호출되면 onResume에 아무 것도 없습니다. onPause 이후에만 호출됩니다. 그리고 onRestart는 코드를 작성하는 경우에만 호출됩니다. 나는 마침내 해답을 발견 http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

+0

음 ... "홈"버튼을 누르면 내 로그에 onPause와 onStop이 표시됩니다. 앱 아이콘을 누르면 내 로그에 onRestart와 onResume이 표시됩니다. – TomBomb

+0

그 방법이 필요합니다. onRestart()의 코드가 지금 실행되고 있습니까? –

+0

맞아, 그게 해야하는 방법입니다. 내 문제는 응용 프로그램이 onRestart와는 대조적으로 onCreate를 트리거 할 때 상태로 들어갈 수 있다는 것입니다. 휴대 전화에서 메모리를 크게 늘리는 것은 없으며 앱은 백그라운드에서 정상적으로 작동합니다. 이해가 되니? – TomBomb

관련 문제