Fragment A의 ArrayList a를 참조하는 스레드 B가 있다할때


B를 돌림 -> B가 돌아가던중에 A가 Destory되고 다시 Create됨


이때 B가 참조하는 A의 ArrayList랑 현재 활성화된 Fragment A의 ArrayList는 다른 객체로 취급되서



가령 getCount(){return a.Size();}라는 메소드가 있다하면


B 스레드에서 실행한 getCount 는 1000이 넘는 숫자를 반환하는데 UI 쓰레드에서 실행한 getCount는 0을 반환함


무식하게 ArrayList를 static으로 만들면 일단 이 이슈야 막을수있지만 이런식의 문제가 한둘이 아님 씨발...



히토미 다운로더 하나 만드는게 이렇게 빡센거였나




이해가 안가는건


정말로 두개의 참조가 달라서 문제가 터지는거면 Detory될때 Bundle에 현재 ArrayList담아두고, Create될때 Bundle에서 복구된 ArrayList 받아오면 정상적으로 되야할거같은데 그렇지가 않더라...?