특정시간 안에 보낸 동일한 Request에 대해서 서버에 요청하지 않고, 이전에 받은 응답값을 그대로 내려주는 Interceptor를 구현해보았다. Response Body를 어떻게 재사용할 것인가 고민을 많이 했는데, ByteArray 형태로 읽어두고 중복된 요청일때 ResponseBody로 만들어주는 방법을 사용해보았다.
이렇게 짧은 시간안에 연속적으로 요청을하더라도, 500ms 이후에만 새로 요청을 하게된다.
개발중인 앱의 Request Method가 전부 POST이기때문에, Request body까지 읽어서 hashing을 하고있는데, 그럴 필요까지 없으신분들은 Request URL 자체를 hash 값으로 잡아도 무방할 것이다.
혹시 유용했다면 Star를~!
'프로그래밍 > Android' 카테고리의 다른 글
Google I/O Extended Seoul 2023: Dagger Hilt로 의존성 주입하기 (0) | 2023.07.29 |
---|---|
[안드로이드] 회전목마(Carousel) 애니메이션 구현하기 (0) | 2023.04.27 |
[안드로이드] Push할 때마다 Auto-Formatting적용하기 : GitHook으로 코딩 스타일 맞추기 (0) | 2023.02.04 |
[안드로이드] ExoPlayer 깜빡거리거나 검은 화면(Black screen)이 뜰 때 (0) | 2023.01.31 |
[안드로이드] java.lang.IllegalStateException: An instance of OnFlingListener already set 해결 (0) | 2023.01.26 |