WeakReference가 제거되었을 때 경고를받을 수있는 방법이 있습니까? 인스턴스에 안드로이드 컨텍스트를 추가해야하는데, 이것을 WeakReference로 추가하면 제거 될 경우 몇 가지를 처리하고 싶습니다. 나는 이것을 어딘가에 대해 읽었다 고 생각한다. 그러나 원인에 대해서는 기억이 나지 않아 아무것도 찾지 못한다. (WeakReference가 제거 될 때의 콜백
3
A
답변
2
Weak Reference (wr)는 콜백을 제공하지 않는다. 적절한 호출이 필요한 경우 (Gc'd)
wr이 제공하는 것은 referenceQueue (rq)입니다. 이는 참조 대상이있는 reference의 목록입니다. 't은 gc'd되어가. 당신은 참조의 생성자에 referenceQueue을 연결합니다.
ReferenceQueue<Drawable> rq = new ReferenceQueue<Drawable>();
WeakReference<Drawable> wr = new WeakReference<Drawable>(dr, rq);
우리의 당김이 gc'd되면, referenceQueue은 계속한다 저기서. 모든 referrent가 null 후 - 우리가 무엇을 "WR"를 말하는 어떤 방법이 없기 때문에
do{
Reference<?> ref = rq.poll(); //this should be your weak reference
if(ref == null) break;
ref.get(); //Should always be null, cause referent is gc'd
// do something
}while(true);
우리는 아마도지도에 WR를 넣어 우리가 RQ에서 그것을 다시 얻을 때입니다. 중요한 의미는 단지 언급 된 것이므로 더 이상 존재하지 않습니다. 그래서 우리는이 중요성에 대한 기록이 필요합니다. 그래서 우리는 우리가 취하고 자하는 행동에 맞추어지도에 넣었습니다. 지도에서 약한 참조 자체를 삭제합니다.
관련 문제
- 1. DOM이 react.js에로드 될 때의 콜백
- 2. GameObject가 직렬화 될 때의 콜백
- 3. WeakReference가 죽었습니다
- 4. 상태 요소가 제거 될 때의 천이
- 5. WeakReference가 너무 약합니까?
- 6. MapBox지도 타일이로드 될 때의 콜백 찾기 (iOS SDK)
- 7. ActionBar 탭의 코드 실행 탭이 제거 될 때의 조각
- 8. 페이 스북 응용 프로그램이 페이지에서 제거 될 때 콜백
- 9. Autofac - 개체가 확인되었을 때의 글로벌 콜백
- 10. Nokia가 템플릿으로 데이터를 처리 할 때의 콜백
- 11. BigCommerce Auth 콜백 URI, 콜백 URI로드 및 콜백 URI 제거
- 12. UIPopover가 해제 될 때의 작업
- 13. managedbean이 초기화 될 때의 로그
- 14. FragmentTransaction이 완료 될 때의 이벤트
- 15. window.location.href가 변경 될 때의 이벤트
- 16. 컨트롤이 렌더링 될 때의 추적
- 17. 스크롤이 감지 될 때의 ScrollTop
- 18. MFPCreateMediaPlayer가 호출 될 때의 오류
- 19. 콜백 NSScrollView가 스크롤 될 때?
- 20. Html5 - iPad에서 미디어 준비가되었을 때의 콜백
- 21. G + 사용자 스트림에 게시 할 때의 콜백
- 22. 데이터를 콜백 함수에 전달 하시겠습니까? 콜백 함수가 호출 될 때마다
- 23. 인종 : OSX에서 kext를 언로드하는 동안 콜백 및 콜백 제거
- 24. iBeacon entry.exit 스 와이프 업으로 앱이 강제 종료 될 때의 콜백 iOS
- 25. 사용자 콘트롤이 윈도우에로드 될 때의 애니메이션
- 26. Windows가 절전 모드로 전환 될 때의 알림
- 27. kml이 렌더링 될 때의 GeoXML3 상태
- 28. jQuery - 3 개의 iframe이로드 될 때의 경고
- 29. Laravel 5.2 : 캐시가 만료 될 때의 이벤트
- 30. ImageView 애니메이션이 무시 될 때의 지속 시간
감사합니다. 사용 가능한 것 같습니다. –