C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[22650] [질문] List View가 메모리 리크 있나요?
신동승 [] 655 읽음    2002-11-15 11:23
안녕하세요.

질문엔 리크가 있는지 물어보는 걸로 적었는데요..
좀 더 정확히는

ListView에 Item을 계속 추가하고
Item의 갯수가 100개가 넘을 때 ListView->Items->Delete(0) 해 주기만 하고
Clear()를 전혀 안 하면 메모리가 계속 쌓이는가 하는 내용입니다.

24시간 동작하는 프로그램을 하나 만들었는데
이 프로그램이 하는 일이 TCP/IP로 수신한 데이터를 ListView에 표시하는 것입니다.
30~35초당 1개의 데이터를 수신하고 데이터의 길이는 80 byte인데
12시간에 1600건 정도의 데이터를 받아옵니다.
이걸 ListView에 갯수가 100개를 넘지 않도록 하여 계속 추가하는 건데요..

처음 실행시의 메모리는 6.9M 정도에서 시작하는데..
12시간이 지나면 8.2M 정도로 상승합니다.
ListView의 Item을 Clear 시키면 6.9M로 다시 줄어듭니다.

Item의 갯수가 100개를 넘지 않기 때문에 기껏해야 7.2M 사용할 것 같은데..
Delete(0)을 계속 호출해 주는데도 메모리가 쌓이는 것 같아서
ListView가 혹시 Item을 Free 시키지 않으면 메모리가 쌓이는 건 아닌지..
쌓인다면 어떻게 해결해야 하는지 고수님들의 조언을 부탁드립니다.


그리고 추가 질문 하나 더요..
NT4.0에서 프로그램 하나 실행할 때 초기 메모리 사용량이 4M 정도 였는데요..
XP에서는 어느 정도로 사용하나요?

<추가>
List Item은 모두 AnsiString으로 동적할당 같은 건 안 썼습니다.

+ -

관련 글 리스트
22650 [질문] List View가 메모리 리크 있나요? 신동승 655 2002/11/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.