자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Delphi 폼 생성과 해제.

2019.09.29 19:59

엽기토끼이요 조회 수:671

안녕하세요. 저번에 질문을 올렸는데 이해가 안 되서 또 질문을 합니다...

 

https://opentutorials.org/course/3108/19310

험프리님이 말씀해주신데로 그대로 따라해 보아도. 메모리가 처음 시작 그 용량으로 돌아오질 않습니다.

 

저번에 답 주신 김원경 선생님의 말대로 폼 변수는 생성하지 않았습니다.

또, 동적 생성될 폼을 Availalbe forms으로 변경했습니다.


코드 입니다.

 

메인 폼의 폼 동적 생성 이벤트. (하나의 폼을 500회 생성 후 클로즈 이벤트 발생)

procedure TForm_Main.Button3Click(Sender: TObject);

var

  i : integer;

begin

  for i := 0 to 500 do begin

    Form1 := TForm1.Create(Nil);

    Form1.Show;

 

    Form1.Close;    //이것만 썻을 때는 모든 폼이 생성된 후에 모든 폼이 다같이 종료.

//    Form1.Free;   //이것도 같이 쓰면 생성 즉시 폼이 제거.

  end;

end;

 

동적 생성폼(Form1)의 클로즈 이벤트.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

  Action := CaFree;

  Self := Nil;

end;


500회를 다 돌고나면 메모리 용량이 조금 줄어들기는 하는데 처음 실행시 용량으로 돌아가지 않습니다. 

(메모리 확인은 작업관리자의 사용자 탭에서 메모리 카테고리에서 확인 했습니다.)

(추가로 작업 관리자 - 성능 - 리소스 모니터 - 메모리 탭에서도 메모리 사용량을 확인 했습니다. )

 

최초 실행시 1.9MB

500회 실행 후 3.5MB (실행 중간에는 4.0MB까지 증가)

2회 500회 실행 후 3.5MB (실행시 용량이 증가하나 종료된 후에 3.5MB로 돌아옴)

 

제가 원하는 것은 최초 실행시 1.9MB로 돌아가게끔 설계를 하고 싶은데... 1회 실행 후의 용량이 당연한 결과인가요?

제 추측으로는 500회 생성된 변수들이 사라지지 않고 재사용 되고 있기 때문에 3.5MB로 유지되는걸로 보입니다. 메모리에서 완전 해제하는 방법이 없는 것인가요?

 

여러군데 뒤져봐도 생성까지만 설명을 하고 해제에 대해서는 자세한 설명이 없어서 헤메고 있습니다.

귀찮게해드려서 죄송합니다... 너무 궁금한데 물어볼곳이 마땅히 없네요...

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 39570
공지 유용한 관련 사이트 관리자2 2014.03.20 79078
2612 안녕하세요. teeresou.res, teefonts.res 관련 질문 입니다. file 클라장이 2016.06.01 359
2611 델파이 10 에서 립모션 설정 방법좀 알고 싶습니다. [1] 한사람 2016.12.12 359
2610 지뢰찾기를 만드는중에 질문이 있어서 글올립니다. [1] file 땅콩맨 2017.09.15 359
2609 [10.3 리오 출시 세미나] 10.2.X 에서 CMake 사용할 수 있게 되었다는데, 사용법에 대한 Tip 없나요? 험프리 2018.11.26 359
2608 c++ 빌더로 OSX 를 개발하려고 하고 있습니다. 과장님 2019.12.06 359
2607 TStackPanel 사용시 문의 사항 입니다. [1] sihwan 2020.07.03 359
2606 [XE8 출시세미나] EMS Analytics와 AppAnalytics는 다른건가요? [1] Humphery 2015.04.30 359
2605 [XE8 출시세미나] 곧 출시되는 iWatch를 XE8에서 지원하나요? [1] Humphery 2015.04.30 359
2604 iphone6 [4] file 텔로스김 2015.12.14 359
2603 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 11 - Exercise 4 [1] 관리자 2016.05.10 360
2602 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 13 - Exercise 5 [1] 관리자 2016.05.10 360
2601 [10.2 도쿄 출시세미나] firemonkey 모바일 개발시 기존에 java 로 개발할 때 사용하던 라이브러리(fcm, geolocation, telephone, 기타)에 대한 사용법에 대한 샘플이나 자료가 많았으면 합니다. 험프리 2017.04.06 360
2600 10.2 tokyo JDK 문제 팁입니다.[질문아님] [1] 제이트 2018.03.08 360
2599 10.3.2 Update Trouble & Embarcadero Server Down 문의 [1] DKK 2019.07.25 360
2598 안드로이드앱 개발 시 파일저장 방법 [1] Xownd 2019.08.22 360
2597 IOS 앱실행관련 문의사항입니다. ( 디바이스 연결 관련 2번째) [2] 궁금한사람 2019.09.10 360
2596 listview 오류 [7] file 제트콜 2017.04.06 360
2595 scrollbox 문의? [2] silkroad99 2015.06.01 360
2594 아이폰에서 Socket Error #49 에러 ?? kerry 2016.08.23 361
2593 안드로이드 앱 Signing 여부를 어떻게 알수 있습니까? [1] file 푸른솔 2016.09.09 361