에셋번들을 다운로드 중에 강제로 네트워크 연결을 끊을 경우 프리징 현상이 일어나는 단말기(갤럭시 노트4)가 있어 관련 사항을 정리함.
상위 coroutine에서 다운로드 메니징을 진행하며 다운로드 시작시 다운로드 coroutine을 진행함
하위 coroutine 에서 다운로드를 진행중에 네트워크를 강제로 끊으면 프리징 발생
디버깅 결과
using (WWW www = new WWW(iOSUrl)
{
}
WWW.dispose() 함수가 호출되는 시점에서 프리징현상 발생
using 중괄호가 끝나면 자동으로 WWW.dispose()가 호출되는데
이때도 프리징 발생
코드를 여러 방면으로 수정 해보았으나 해결이 되지 않는 상황
네트워크 연결이 종료된 뒤로 다운로드 중에 WWW.dispose() 를 호출 하면서 문제가 없도록 하는 방법을 찾아야함
관련 링크
https://issuetracker.unity3d.com/issues/unity-freezes-when-www-dot-dispose-is-used-while-downloading-assetbundle
https://issuetracker.unity3d.com/issues/android-application-freezes-on-www-dot-dispose-if-connection-is-canceled
http://forum.unity3d.com/threads/www-dispose-freezes-unity-4-5.252167/
http://stackoverflow.com/questions/18353821/dispose-www-if-timeout-occurs-in-unity3d