해결된 질문
작성
·
50
·
수정됨
0
선생님 안녕하세요. 강의 정말 잘 보고 있습니다.
원격 리소스 다운로드 시스템 Pt.2 수강 후 테스트를 진행해 보았습니다. 서버로부터 다운로드 번들을 인식하고, 다운로드하며, 진행 상황을 슬라이더 바에 연동하여 업데이트하는 것까지는 정상적으로 동작했습니다.
그런데 이후 두 번째 테스트를 진행했을 때, 선생님과 달리 제 환경에서는 리소스 다운로드 확인 UI가 한 번 더 표시되었습니다. 즉, 프로그램이 이미 다운로드한 리소스를 인식하지 못하는 것처럼 보였습니다.
혹시나 싶어 플랫폼을 윈도우로 변경해 테스트해 본 결과, 윈도우에서는 첫 다운로드 이후 두 번째 실행부터는 UI가 나타나지 않았습니다.
코드 상에서는 플랫폼에 따른 차이를 두지 않았는데도 결과가 다르게 나와 난감한 상황입니다.
추가로, 문제가 발생한 안드로이드 플랫폼의 두 번째 실행에서는 슬라이더 바의 움직임도 확인해 보았는데, 0%에서 곧바로 100%로 넘어갔습니다. 리소스 용량을 50MB쯤 업로드 해두어서 첫번째 테스트때는 서서히 움직였는데 말이죠. 즉, 로그에는 다운로드해야 할 용량이 찍히지만, 실제로는 디스크에 리소스가 이미 존재하는 그런 양상 이었습니다.
어디에서 이런 문제가 발생했을까요?
답변 2
0
안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.
제 생각에는 50MB의 리소스 중 일부가 첫 실행에 모두 다운로드 되지 못한 것으로 보입니다. 두 번째 실행에서 50MB 중 남은 일부를 다운 받은 것 같습니다. 아마 50MB를 한 group(번들)으로 묶으셨을 것 같은데, addressables 내부적으로 하나의 그룹에서 조금이라도 새롭게 다운로드 받아야 할 용량이 남아 있으면(예를 들어 50MB 중 2MB) 해당 그룹을 다운로드해야 한다고 표시됩니다. 하지만 실제로 다운로드를 시작하면 새로 다운 받아야 할 용량만 받았기 때문에 금방 100%가 되었을 것으로 추측됩니다. 플랫폼 별로 리소스를 다운받는 경로가 다르기 때문에 윈도우는 처음에 정상적으로 잘 다운 받은 것으로 보입니다.
제가 다운로드해야 할 용량을 로그로 표시하는 것은 실제로는 해당 그룹의 총 용량을 표시하는 것이지 정확히 50MB 중 얼마를 새로 다운 받아야 하는지 정확하게 표시하는 것은 아닙니다. 그 기능은 addressables에서 제공해주고 있지 않기 때문에 직접 구현해야 합니다. 하지만 난이도가 있는 내용이기에 이 강의에서 다루지는 않았습니다.
추가로 궁금하신 점이 있으시다면 편하게 질문 부탁 드립니다. 🙂
0
안녕하세요, 인프런 AI 인턴입니다. dev연윰님.
강의 중 원격 리소스 다운로드 시스템 관련 문제에 관해 질문해 주셨네요. 다운로드 시스템에서 플랫폼별로 다른 동작을 보이고 있어 혼란스러우실 것 같습니다. 이런 경우 몇 가지 점검해 볼 사항이 있습니다.
Cache Implementation:
Caching
클래스를 사용하여 어떤 리소스가 이미 다운로드되었는지 확인하고 이를 기반으로 UI를 두 번째 실행 시 생략하는 방식이 필요합니다.플랫폼별 데이터 경로:
Application.persistentDataPath
를 사용해 로컬 저장소 경로를 확인하고, 이 경로에 리소스가 있는지 확인하는 로직이 필요할 수 있습니다.Async Loading:
프로그레스 바 처리:
이러한 점을 검토해 보시고, 코드를 개선해 보시길 권장드립니다. 더욱 상세한 내용을 강의나 참고 자료에서 재확인하시며 진행하시면 도움이 될 것입니다.
유사한 문제와 해결책에 관한 기존 답변은 아래 링크를 참고해주세요:
- 캐싱 기능 관련 질문 - 리소스 다운로드 문제
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.