2013-05-10 7 views
0

아마존 S3 관련 프로젝트가 50MB 이상의 큰 파일 크기를 다운로드하고 있습니다. 그것은 오류없이 멈추고 큰 데이터 파일 크기로 인해 더 작은 메모리로 파일을 청크하고 동시에 다운로드합니다. 단일 [NSMutableData]에 청크 데이터를 올바른 순서로 추가하면 비디오가 재생되지 않습니다. 이 관련 주제에 대한 어떤 생각? ..Amazon S3 (AWS) NSMutableData

당신은 RAM 메모리 만 사용하여 데이터의 양을 관리 안 나는이 프로젝트 T_T의 전체 주 내 엉덩이 ...

+0

오류에 대한 추가 정보가 더 필요하십니까? – ale0xB

+0

오류가 없습니다. 하지만 다운로드 한 파일은 청크로 잘라내어 NSMutableData를 사용하여 병합 한 후 손상되었습니다. – Cjames

답변

1

앉아있어 제발 도와주세요.

설명 된 것처럼 보조 메모리 (즉, NSFileManager)를 사용 하시겠습니까? here 파일 다운로드가 완료되면 정상적으로 재생하십시오. 사용자가 더 이상 필요가 없다고 확신하는 경우 재생 직후에 삭제하면됩니다.

[편집]

또는, 당신은뿐만 아니라 단지 MPMoviePlayerController 직접 해당 URL을 가리키는 사용할 수 있습니다.

+0

다운로드 한 파일이 50MB를 초과하므로 다운로드 할 파일의 메모리이므로 파일을 조각으로 만든 후 다시 복원합니다 ... any 부패를 피하기 위해 파일을 처리하는 더 좋은 방법은? 당신의 응답을 주셔서 감사합니다 – Cjames

1

먼저 필요한 크기의 파일을 만드십시오. 각 다운 로더 객체는 데이터를 넣기 위해 파일에서 오프셋을 알아야합니다.이 오프셋은 표시되는대로 쓰고 변경 가능한 데이터 객체에 저장하지 않아야합니다. 따라서이 작업의 메모리 사용 공간을 크게 줄일 수 있습니다.

두 번째 구성 요소가 있습니다. 열린 파일의 F_NOCACHE 플래그를 설정하여 iOS가 파일 캐시에 파일 쓰기를 유지하지 않도록해야합니다.

두 가지 모두 제대로 작동해야합니다. 또한 개발 중에 많은 주장을 사용하여 무언가가 실패하면 최대한 빨리 알 수 있으므로 문제가 무엇이든간에 수정할 수 있습니다.