나는 android robospice 라이브러리가 활동주기를 관리하는 방법에 대한 기술 답변을 찾고 있습니다. 은 시작 페이지에서 :.robospice는 활동주기를 어떻게 관리합니까?
https://github.com/octo-online/robospice/wiki/Starter-Guide
"당신의 활동 (또는 다른 컨텍스트)의 내부 클래스로서, 당신의 UI를 업데이트하는 RequestlListener를 추가 메모리 누수에 대해 걱정하지 마십시오, RoboSpice는 활동의 관리 수명주기. "
제 질문은 로딩 한 후 올바른 컨텍스트로 올바른 리스너를 호출 할 수 있도록, 그리고 액티비티가 파괴되어 새로운 인스턴스로 다시 생성 된 후에도 올바른 리스너를 호출 할 수 있도록 robospice가 자동으로 요청 리스너를 업데이트하는 방법입니다.
나는 소스 코드를 리버스 엔지니어링려고 노력했지만 아직 답을 못 찾았 :https://github.com/octo-online/robospice
따라서 requestCacheKey를 제공하지 않고 동일한 Activity의 여러 인스턴스가 동시에 실행되는 경우 addListenerIfPending이 올바르게 작동합니까? 또는 그 경우 정보가 충분하지 않은 것입니까? 이것은 아마 드문 시나리오이지만 나는 호기심이 많다. – craigrs84
@snicolas shouldStop() (또는 비 - 비동기 메서드)를 호출하지 않으면 Activity, Fragments, Services 등에 등록 된 리스너에게 라이브러리가 다시 호출되지 않는다는 것이 궁금합니다. 소스를 너무 많이 파고 들지 않고 라이브러리의 초기 사용 및 테스트를 토대로, "사망"한 객체에 대한 콜백을 받으면 예외가 발생합니다. 또한 도서관은 훌륭합니다. 좋은 일을 계속하십시오! – AllDayAmazing
shouldStop을 호출하지 않으면 리스너가 트리거됩니다. 이것은 종종 청취자가 내부 클래스이고 파괴 된 활동 인스턴스에 대한 참조를 보유하기 때문에 충돌 및 메모리 누수를 일으킬 수 있으며 리스너에서 findViewById와 같은 작업을 수행하면 충돌이 발생할 수 있습니다. 나는 당신이 그것을 가지고 있다고 생각합니다. 단지 일을 분명히하고 싶었습니다. – Snicolas