그림 데이터베이스와 슬라이드 쇼인 두 개의 Windows Form 프로그램이 있습니다.Visual Studio 2010의 메모리 부족 문제 Visual Basic .Net 4.0
슬라이드 쇼가 지속적으로 사진의 새 스위치와 함께 사용되는
메모리를 증가없이 표시에 PictureBox를 업데이트합니다. 그러나 나는 두 번째 형식이 있습니다
에는 데이터베이스에 추가 할 그림의 축소판을 표시하기위한 50 개의 그림 상자가 있습니다. 크기 (57,40)의 각 그림 상자가 작은 축소판 그림 (< 12K)으로 업데이트됨에 따라 IDE에서 사용되는 메모리는 내 32 비트 XP 시스템에서 약 660MB에서 1GB가 조금 넘게 올라가며 축소판 그림 상자가로드됩니다 .
크기 (57,40)의 약 30 개가 .jpg 소스 파일에서 3MB 이상로드되면 IDE 메모리 사용이 약 2.1GB로 증가합니다. (문제는 쉽게 .jpg 이미지와 함께 발생하지 않습니다. < = 15K 및 모든 50 축소판은 < 1.3GB mem 사용시 사용 가능).
문제는 그 자체가 평균 .jpg 파일 크기> 3MB의 HD 캐논 카메라 .jpg 이미지가 표시된 축소판 그림 상자 30 개에로드되어 표시되는 그림 선택을 시작하고 사용 된 메모리가 빠르게 2.3GB 메모리 사용량 초과로 인해 메모리 부족 현상이 발생합니다.
VB2010 또는 .NET 4.0의 버그입니까?
모든 사진이 축소판으로 표시되면 모든 축소판을 포함하는 패널의 50 개 그림 상자 중 하나를 마우스로 클릭하면 양식에 하나의 큰 그림 상자가 업데이트되어 크기가있는 단일 그림 상자에 그림이 표시됩니다 1024,768). 썸네일을 클릭하면 하나의 큰 그림 상자에 파일의 관련 그림이 표시되지만 동시에 시스템 메모리는 클릭 이벤트 당 약 240KB 씩 증가합니다. 결국 시스템 메모리가 약 2.3GB를 초과하면 프로그램이 메모리 부족 오류로 인해 충돌합니다.
어떻게
가 또 다른 사진과 함께 업데이트 될 때 같은 PictureBox를 사용하는 메모리를 복구 할 수있는 프로그램을 얻을 수 있나요? 아래
부분 코드 : I가 설치 XP PRO 32-Bit SP3 4GB RAM
에 Visual Studio Ultimate SP1 updated .NET 4.0
을 사용하고
' Each Thumbnail has a click event
'PB49 is a PictureBox max size (57,40) used as a thumbnail display, all 50 are on a panel
Private Sub PB49_Click(sender As System.Object, e As System.EventArgs) Handles PB49.Click
'PB(50) is an Integer Array flagging Pictures to add
If PB(49) = 1 Then PB(49) = 0 Else PB(49) = 1
If PB(49) = 1 Then
CheckBox49.Checked = True 'Tiny Checkbox on thumbnail
F$ = ListAddFiles.Items(48) 'ListFileBox of FileNames
PBx1.Image = Image.FromFile(F$) 'Gets filename and path and loads image into PictureBox
PBx1.Visible = True 'Large PictureBox (1024,768)shows Pic F$ located on Form
Else
CheckBox49.Checked = False
PBx1.Image = Nothing
PBx1.Visible = False
End If
End Sub
.
당신이 배치 될 필요가있는 객체를 폐기하고 있습니까? –
질문에'?'를 너무 많이 사용하면 안됩니다. – VMAtm
그리고 이것은 VS가 아니라 귀하의 버그입니다. – VMAtm