okhttp
-
Retrofit2 @Streaming 제대로 알기(내부 원리부터 파일 다운로드까지)-고슴도치 군단카테고리 없음 2026. 4. 28. 09:31
@Streaming 어노테이션 개요Retrofit2에서 HTTP 응답을 처리하는 기본 방식은 응답 전체를 메모리에 버퍼링하는 것임.작은 JSON 응답이라면 문제없지만, 대용량 파일이나 동영상을 다운로드할 때는 메모리 부족이나 OOM(Out Of Memory) 오류가 발생할 수 있음.@Streaming 어노테이션은 이 버퍼링 동작을 비활성화하고, 서버 소켓에서 직접 데이터를 스트리밍 방식으로 읽을 수 있게 해주는 핵심 기능임.기본 사용법@Streaming은 인터페이스 메서드 선언 위에 붙이며, 반환 타입은 반드시 ResponseBody여야 의미가 있음.Converter가 붙어있는 타입(예: Call)을 반환하면 Converter 내부에서 어차피 전체 본문을 읽기 때문에 스트리밍 효과가 없음.아래 예시처럼 ..