2013-05-19 1 views
0

나는 뛰어 내릴 때 마리오 사운드를 재생하는 안드로이드 앱을 만들었습니다. 그것은 잘 작동합니다 (일종의),하지만 닫을 때, 그것은 여전히 ​​작동합니다. 나는 onDestroy 메서드를 사용해 보았습니다. 그러나 생성 된 객체를 지우지 않는 것 같습니다 ...안드로이드 프로그램을 닫을 때 왜 닫히지 않습니까?

여기 코드는 다음과 같습니다. 과 같이 onPause() 대신 onDestroy() 내부의 재생을 중지하도록 코드를 넣어 http://pastebin.com/GCkrBkv9

+0

다른 사람이 소리를 좀 더 빠르게 만들어 줄 방법이 있다면 알려주세요. – Nathvi

답변

1

시도 : 그래서 그것은 활동이 아직 파괴되지 않는다는 것을 확실히 가능하고 단지 배경으로 전송의

@Override 
public void onPause() { 
     super.onPause(); 
     sp.stop(jump); 
     sp.release(); 
} 

, onDestroy() 앱을 "닫은"경우에도 아직 호출되지 않습니다.

+0

그게 효과가 있었는데, 왜 onDestroy 메서드에서 작동하지 않았습니까? – Nathvi

+1

앱이 백그라운드로 이동할 때'onDestroy()'가 즉시 호출되는 것은 아닙니다. 시스템이 메모리를 비우고 결국 앱 활동을 파괴하려고 할 때나, 명시 적으로 'finish()'를 호출 할 때만 호출됩니다. – Krauxe

+1

안드로이드 애플 리케이션을 제대로 닫으려면이 스레드를 참조하십시오 : http://stackoverflow.com/q/4732184/693752. – Snicolas