내 WPF 애플리케이션 용으로 작은 MemoryManager를 작성 중이며 다음 문제가 발생했습니다. 내가하는 일 : 많은 인스턴스를 IList<WeakReference>에 WeakReference으로 저장합니다. 나중에 모든 메모리를 비우고 싶을 때 목록에있는 모든 살아있는 객체를 파괴하고 싶습니다. foreach (WeakReference wr in r
블록에 대한 약한 참조에 대한 기본적인 이해가 있습니다. 내가 직면하고 문제는 내가 블록 내부 자기에 액세스 할 때마다 는 내가 기본 블록 (예 UIViewAnimation)을 유지 카운트 내부 자체를 액세스 할 때 2, 증가 도착 자기의 수를 유지한다 자기를 위해 그냥 미리 2 감사 증가지고 이유를 이해하고 싶었다 1. 증가됩니다!
dealloc 실행과 약한 참조가 깨지는 지점과 NSMapTable에서 항목이 제거되는 지점 사이의 시간적 관계는 무엇입니까? 특히, dealloc이 실행되기 시작하면 응용 프로그램의 관점에서 강력한 참조가없고 새로운 강력한 참조를 얻을 수 없음을 확신 할 수 있습니까 (단, self은 dealloc 실행)?
내 코드에서 내 블록의 유지 사이클을 찾고 있습니다. 내 UITableViewController에 다음 코드가 있습니다 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//[...] Not important c
WeakHashMap을 동시에 사용하고 있습니다. 나는 Integer 매개 변수를 기반으로 fine-grained locking을 원한다. 스레드 A가 정수 a으로 식별되는 자원을 수정해야하고 스레드 B가 정수 b으로 식별되는 자원에 대해 동일하게 수행하는 경우 이들을 동기화 할 필요가 없습니다. 그러나 같은 리소스를 사용하는 스레드가 두 개있는 경우 스레
나는 WeakReference의 유형 검사 및 캐스팅을 피할 수 있도록 4.5 일반 구현을 사용하여 WeakReference List를 작성하려고합니다. 그러나 WeakReference<T>은 공분산을 지원하지 않으므로 해결 방법을 설정하려고합니다. 나는 각 T가 특정 상속 체인에서 유형이 될 수 있기 때문에 가능해야한다고 생각합니다. (가 아닌 상속 이후
내가 클래스에게 온 class MyClass1 {
MyClass2 member;
}
는 가비지 다음, 수집 member는 가비지 컬렉션에 자격이있다 ans와합니다. Map과 동일한 관계를 시뮬레이션 할 수 있습니까? 그래서 약한 키 참조가있는지도를 원합니다. 나는. 지도 자체가 가비지 수집에서 키를 막아서는 안됩니다. 일단 키가 가비지 수집되
때로는 메모리에있는 객체에 대한 참조를 잠시 동안 보유해야합니다. 약한 참조는 이것을 허락하지만 시간은 가비지 수집주기에 의해 제한됩니다. 질문은 this one과 유사하지만 .NET과 관련이 있습니다. 이러한 기능이 내장 된 캐시가 많이 있지만 하나의 개체 만 저장하려면 전체 캐시 (키 - 값 맵)를 사용할 필요가 없습니다. 그것은 오히려 하나의 "만료