2011-07-30 9 views
5

내 요구 사항을 충족하는 백그라운드에서 실행할 수있는 URL에서 스트리밍 MP3에 적합한 응용 프로그램을 찾을 수 없으므로 직접 작성하기로 결정했습니다. Froyo 이상을 실행하는 경우 네이티브 MediaPlayer로 MP3를 스트리밍하는 것이 매우 쉽습니다.안드로이드가 내 앱을 죽이는 것을 막을 수 있습니까?

그러나 내 문제는 응용 프로그램을 전환하고 스트림을 계속 유지하려고 시도하는 것입니다 (그 중 일부는 2-4 시간 지속됩니다). 그리고 듣고있는 동안 게임이나 무언가를 재생할 때가 있습니다. 가끔은 그냥 죽습니다. 나는 그 문제가 무엇인지 정확하게 모르겠다. 내 생각 엔 안드로이드 시스템이 그 프로세스를 죽이는 것이 좋다고 결정했다는 것이다. 그러나 그렇지 않았다.

스트리밍 mp3 앱 대신 리소스가 필요한 경우 다른 프로세스를 죽일 수있는 방법이 있습니까?

내가 시도하는 것 :

android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_AUDIO); 

를하지만 더 좋은 없습니다.

+0

당신도 그 게임에서 스트리밍을하고 있을지도 모르겠지만 확신 할 수는 없지만 안드로이드는 여러 스트리밍 오디오를 재생할 수 없습니다 .......... http://stackoverflow.com/questions/5642508/android 복수 동시 스트리밍 오디오 – viv

+0

나는 그것도 들었다.하지만 내 활동이 하나의 인스턴스가되기 전에 적어도 두 번 동시에 다른 파일을 스트리밍 할 수 있었다. – Nick

답변

2

에 대한 문서 밖으로

확인은 내 이드 인크 레 더블은 진저 브레드 (2.3.4) 갑자기 업데이트 된 후 작동 것을 발견했다. 나는 전혀 변화를 만들지 않았다. 단지 Froyo에서했던 것처럼 진저 브레드에서 죽지 않는다. 진저 브레드에 미디어 플레이어가 개선 된 것을 알고 있으므로 진저에 고정 된 Froyo의 버그가 있다고 가정해야합니다.

-2

안드로이드 폰에서 메모리 관리에 문제가있어 설명 된 프로세스가 종료되었습니다. Android Booster과 같은 프로그램을 설치하여 사용 가능한 메모리를 모니터링하고 너무 많은 메모리를 사용하는 프로그램을 닫아 열어 두려는 프로그램에 실행할 메모리가 충분하도록 할 수 있습니다.

0

내가 아는 한, 프로그램이 영원히 돌아갈 수 없다. 어떤 시점에서 OS가 그것을 죽일 것이다. 그러나 당신이 시도 할 수있는 것은 유용한 정보를 가지고 서비스를 만들어서 알림을 생성하는 것입니다. 그런 다음 활동을 다시 시작하십시오.

0

이것은 Lifecycle입니다. 메모리가 필요할 경우 OS가 앱을 종료시킬 수 있습니다. 고려해야 할 수도 있습니다 service

8

서비스를 포 그라운드 서비스로 설정해야합니다 (아직 수행하지 않은 경우). 전경 서비스는 알림 바에 아이콘을 표시해야하며, 안드로이드 시스템은 엄청난 메모리 부족이 아니면 않는 한 그들을 죽이지 않을 것입니다. startForeground()

+0

굉장합니다. 내 다음 단계는 알림을 추가하는 것이 었습니다. 전경 서비스가 둘 다 처리하는 것처럼 보입니다. – Nick

+0

해결책이 있다고 생각합니다. 안드로이드 버전에 의존하기 때문에 아래의 해답은 해결책이 아닙니다. – Cocorico

관련 문제