2012-08-22 2 views
2

내부에 갤러리가있는 프래그먼트를 호스팅하는 활동이 있습니다. 본질적으로 다른 활동을 시작할 때 갤러리 비트 맵으로 채워진 메모리를 비우고 싶습니다.메모리 누수, 비트 맵, 단편

내 조각은 다음과 같이 동적으로 삽입됩니다

FragmentManager fragmentManager = getSupportFragmentManager(); 
    FragmentTransaction fragmentTransaction = fragmentManager 
      .beginTransaction(); 

    if (_promoFragment == null) { 
     _promoFragment = new TabletPromoFragment(); 
    } 

    fragmentTransaction.replace(_singlePageContainerId, _promoFragment); 

    fragmentTransaction.commit(); 

심지어 활동의 onPause에서 _promoFragment.onDestroyView 부르지 만, MAT는 여전히 비트 맵에 이러한 참조를 보유 갤러리 개체가 있음을 나에게 보여줍니다.

당신은 무엇을 제안 할 수 있습니다?

p.s. 나는 그것이 더 명확한 경우에 MAT보고를 배치 할 수있다. 비트 맵에 대한

답변

0
+0

그것을 처리 할 수 ​​있도록 모든 사용 및 기록을 삭제해야합니다 /lazylist/ImageLoader.java를 사용하면 비트 맵을 비동기 적으로 표시 할 수 있습니다. 나는이 라인에 대한 의심을 가지고 개인지도 <문자열, 비트 맵> 캐시 =에는 Collections.synchronizedMap ( 새의 LinkedHashMap <문자열, 비트 맵> (10,1.5f, TRUE)); 그러나 내 문제는 조각보기 doesn; t는 내가 처음 활동을 떠나면 destryed 얻을 것이라고 생각 Logged – midnight

0

당신은 참조에 문제가 발생하고 객체는 당신의 조각 & 활동의 라이프 사이클을지나 메모리 방식에 집착. Check out my reply on this post

당신은 어떤 참조가 당신이 조각/활동을 파괴 할 때마다 뒤에 남아 있지되어 있는지 확인해야합니다. 내가 사용 https://github.com/thest1/LazyList/blob/master/src/com/fedorvlasov - 안드로이드의 가비지 콜렉터가 성공적으로

이미 사용했습니다