찾다

 >  Q&A  >  본문

android - 반복되는 조각 교체 메모리 누수가 반복되는 이유는 무엇입니까?

그림과 같이 아래 두 개의 버튼을 클릭하면 REPALCE위에 Fragmnet이 두 개 있는데, 반복적으로 전환할 때 메모리 누수가 발생했습니다

Fragment의 코드는 다음과 같습니다.

으아악

이것은 활동 코드의 일부입니다

으아악

반복적으로 전환할 때 메모리 상태는 다음과 같습니다.

onDestroy가 실행되고 전체 Fragment 수명주기가 즉시 종료되는 것을 볼 수 있는 LOGCAT입니다. 으아악

그럼 그가 차지한 기억은 왜 아직도 거기에 있는 걸까요?

질문 2:

실험을 위해 JAVA에서 일정량의 메모리를 할당하는 방법. 내 비트맵 방식이 너무 낮고 그 안에 CONTEXT가 있습니다.
질문 3:

FRAGMENT 사용을 피해야 할까요? (저는 HIDE/SHOW를 사용하는 것이 REPLACE보다 낫다는 것을 알고 있습니다


감사합니다!

漂亮男人漂亮男人2778일 전712

모든 응답(2)나는 대답할 것이다

  • 世界只因有你

    世界只因有你2017-05-16 13:34:31

    LeakCanary를 코드에 통합하여 메모리 누수의 원인을 확인하세요.
    그리고 메모리 그래프가 상승한다고 해서 반드시 메모리 누수를 의미하는 것은 아닙니다. Bitmap을 신청할 때마다 GC 기준을 충족하지 못할 수 있으므로 메모리가 계속 늘어나도 문제가 없습니다.

    회신하다
    0
  • 某草草

    某草草2017-05-16 13:34:31

    프래그먼트의 문제가 아니라 사용하는 비트맵의 문제입니다

    회신하다
    0
  • 취소회신하다