게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c#.Net Graphics 메모리 누수 관련 질문입니다
게시물ID : programmer_19664짧은주소 복사하기
작성자 : dja12123
추천 : 0
조회수 : 640회
댓글수 : 2개
등록시간 : 2017/01/26 03:04:14
옵션
  • 본인삭제금지
씨샵으로 폼없이 화면에 직접 텍스트를 뿌려주는기능을 테스트 중입니다
이전에 집어넣어줬던 스트링이 계속 화면에 남아서 무한루프로 실험해보니까 메모리 사용량이 조금씩 꾸준히 올라가네요
GC도 동작하지않고요

코드입니다

private const int DCX_WINDOW = 0x00000001;
private const int DCX_CACHE = 0x00000002;
private const int DCX_LOCKWINDOWUPDATE = 0x00000400;

[DllImport("user32.dll")]
private static extern IntPtr GetDesktopWindow();

[DllImport("user32.dll")]
private static extern IntPtr GetDCEx(IntPtr hwnd, IntPtr hrgn, uint flags);

public static void TestDrawingOnDesktop(String s)
{
IntPtr hdc = GetDCEx(GetDesktopWindow(), IntPtr.Zero, DCX_WINDOW | DCX_CACHE | DCX_LOCKWINDOWUPDATE);

using (Graphics g = Graphics.FromHdc(hdc))
{
StringFormat sf = new StringFormat();
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Center;
g.DrawString(s, new Font("굴림", 50F), Brushes.Red, 1000, 1000);
g.ReleaseHdc(g.GetHdc());
}
}
public static void Main(String[] args)
{
int count = 0;
while(true)
{
count++;
TestDrawingOnDesktop(count.ToString());
}
}


또 이게 한번 그리고 화면에 변화가 생기면 해당 부분이 지워져버리는데 이문제는 어떻게 해결하는지 알고싶습니다

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호