YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Korean subtitles

← 04-07 Leaks_Continued_With_Heap_Viewer

04-07 Leaks_Continued_With_Heap_Viewer

Get Embed Code
13 Languages

Showing Revision 2 created 04/28/2016 by nc_translator1.

  1. Heap Viewer로 보면 첫 GC는 1.39MB밖에 확보하지 못했습니다
  2. 이건 메모리 누수 때문에
  3. GC가 많은 메모리를 반납하지 못한 가능성을 암시하는데요
  4. 두 번째 GC 이벤트 이후 시스템이 애플리케이션에게
  5. 추가적으로 메모리를 할당한 게 Heap Viewer를 통해 보입니다
  6. 힙 크기가 32MB로 늘었습니다
  7. 첫 GC 당시의 20MB 보다 커졌어요
  8. 이제 저희 힙에 가용 메모리가 12.9MB만큼 있어요
  9. 시스템은 애플리케이션의 메모리 사용량에 반응해
  10. 동적으로 메모리 할당량을 늘린 거예요
  11. 이 패턴이 반복되어 시스템이 더 이상 애플리케이션에게
  12. 메모리를 할당해주지 못하면 애플리케이션은 크래시 됩니다
  13. 그러니 기억하세요, 메모리 누수는 서서히 일어나기 때문에
  14. 발견하기 위해선 충분한 시간과 적절한 시험 환경이 필요해요
  15. 그리고 메모리 할당을 올바르게 해도
  16. 이런 패턴이 발생할 수 있다는 점도 잊지 마세요
  17. 예를 들어
  18. 큰 용량의 삽화나 사진을 조작하는 애플리케이션을 상상해보세요
  19. 여기서 교훈은 서서히 누수되는 메모리를 경계하되
  20. 수집한 자료와 애플리케이션 핵심 기능의 메모리 사용 방법을 비교해
  21. 메모리 누수 여부를 판단하셔야 한다는 겁니다
  22. 이제 여러분은 Memory Monitor와 Heap Viewer 같은
  23. SDK에서 제공하는 툴을 사용해
  24. 메모리 누수를 찾는 방법을 이해하셨을 거예요
  25. 하지만 메모리 누수가 어디서 시작되었는지 모를 수도 있겠네요
  26. 그러니 메모리 누수를 방지하는 요령을 알려드릴게요
  27. 코드에서 생성하는 객체의 수명을 파악해
  28. 더 이상 참조할 필요가 없으면 제거해주세요
  29. 좋아요, 그럼 다음 슬라이드에선
  30. 이 메모리 누수의 원인을 파헤쳐 볼게요