2014-10-03 4 views
0

Windows 전화의 백그라운드 작업 8.1에는 제한된 40MB 메모리가 있습니다. 서버 또는 관련 작업에 대한 미디어 업로드의 경우 40MB가 훨씬 적습니다.Windows 전화 8.1 백그라운드 작업 메모리 관리

예 : TimerTriggerTask의 RUN 메서드에서 아래 함수를 호출합니다.

업로드 할 사진이 10 장 정도 있으면 OutOfMemoryException으로 인해 4 장의 사진 이후에 사라집니다.

여기서 메모리를 처리 할 수있는 방법이 있습니까? 내가 파일 전송 자체를 수행하는 백그라운드 전송 네트워킹 API를 사용하고 있음을 유의하십시오.

+0

백그라운드 작업을 프로파일 링하여 너무 많은 메모리를 사용하고 있는지 확인해 보셨습니까? –

+0

Windows phone 전동 공구를 사용했습니다. 백그라운드 작업이 종료 될 때까지 40MB 이상 진행됩니다. – golldy

답변

1

은 업로드 결과로을 기다리지 마십시오.

BackgroundTask에서 원하는 것은 업로드를 시작하는 것입니다. 그 시점에서, 당신을 위해 관리하기 위해 BackgroundTransfer에 전달했습니다. BackgroundTransfer의 요점은 애플리케이션 외부에서 업로드를 처리하고, 앱이 일시 중지되면 업로드하며, 휴대 전화를 다시 시작한 후에도 계속 진행할 수 있습니다.

귀하의 경우, 기다리는 것이 아니라 반복하여 처리하면 다음 파일 처리가 시작됩니다. 성공시 메시지를 출력하려면 진행 콜백을 사용하십시오.

0

안녕하세요 golldy 저는 업로드가 끝날 때까지 기다리는 것이 가장 좋다고 생각합니다. 사용자가 백그라운드 작업을 수행하여 이미지를 삭제하거나 다른 이미지를 추가하고 미래에 문제가 발생할 수 있기 때문입니다. 그럼 당신은 진행률 표시 줄이나 사용자가 동일한 과정을 마칠 때까지 대기 화면을 차단할 수 있습니다, 그것은 더 정확하게 생각합니다! 행운을 빕니다!

PD : 답변 추가를 위해 Srry를 사용하지만 코멘트를 추가 할 때 srry golldy 및 admins!

관련 문제