|
스트링 클래스는 잦은 메모리 할당과 해제를 반복하면 효율이 떨어지기 때문에,
일정량의 공간을 확보해 사용하게 됩니다. 물론 이 양은 아주 적습니다.
스트링 그리드는 수 많은 스트링 클래스가 사용되는데,
적은 양이라도 많이 사용하게 되면 전체 양이 커지는 것입니다.
이런 식으로 확보된 메모리는 스트링클래스가 메모리에서 사라지거나,
최적화를 하지 않으면 남아 있게 됩니다.
예제와 같이 일정한 크기의 스트링을 반복적으로 대입하면
일정량 증가하다가 멈추게 됩니다.
방법은 스트링그리드를 사용하지 않거나,
필요할때 동적으로 생성해서
필요없을때 지우는 방법을 사용하면 됩니다.
아뭏던 스트링 클래스도 스트링그리드도 큰 문제가 있는 것이 아니니
메모리 문제는 적정하게 처리하면 됩니다.
스트링 클래스에 관한 자료는 알아서 찾아 보셔야 할 것 같군요.
그럼.
mossmin 님이 쓰신 글 :
: 첨부한 샘플을 가지고 테스트한 결과를 올린 것입니다.
: 그 샘플로 어제 저녁에 실행을 시킨 후에 오늘 출근해보니
: 작업관리자의 메모리양이 증가되어 있었습니다.
: 참고로 일본어 윈도우2000 서비스팩4이구요,
: 스트링 클래스의 특성 때문이라고 하셨는데요
: 구체적인 내용이 알고 싶습니다.
: 참고 서적이나 사이트 어떤것이든 참고 자료를 알려주시면
: 정말 너무너무 감사하겠습니다.
: 며칠 동안 메모리양만 체크하다 보니 머리가 어질 어질 합니다.
:
: 김태선 님이 쓰신 글 :
: : 첨부하신 샘플을 받아서 테스트해 봤는데 이상 없습니다.
: : 메모리 증가나 누수 일체 없는데, 이건 너무 당연한 것입니다.
: :
: : 실행후 처음 메모리가 조금 늘어나다가 더이상 증가 없이 멈추게 되는데
: : 이는 스트링클래스 특성 때문에 그렇습니다.
: :
: : 메모리가 계속 증가한다면 첨부하신 내용이 아닌
: : 다른 부분에 문제가 있을 수 있습니다.
: :
: : 그럼.
: :
|