Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Память не освобождается / 6 сообщений из 6, страница 1 из 1
21.12.2012, 17:14
    #38088557
maximIZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память не освобождается
Добрый день.
Нарисовал карточку позиции, вызывается она при двойном клике по строке из списка.

Код: vbnet
1.
2.
3.
4.
5.
6.
With New frmObjectCard(Me.ObjectBindingSource.Current)

            .ShowDialog(Me)

            .Dispose()
End With



в самой карточке

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Sub New(ByVal CurrentObject As DataRowView)

        InitializeComponent()

        Me.SetMap(CurrentObject)

End Sub

Private Sub SetMap(Data As DataRowView)
        Dim MapControl As Map = New Map(Data("MapX"), Data("MapY"), Data("ObjectName"))
        Me.MapPanelControl.Controls.Add(MapControl)
        MapControl.Dock = DockStyle.Fill
End Sub



Так вот когда карточка закрывается, срабатывает Dispose, но память не освобождается совсем. Ведь если сработал Dispose формы, то все контролы должны уничтожиться и память должна освободиться до того состояния которое было до открытия. Соответственно чем чаще я открываю карточку тем больше растет кол-во занятой памяти

Подскажите что не так я делаю и почему память не освобождается?
...
Рейтинг: 0 / 0
21.12.2012, 17:19
    #38088564
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память не освобождается
maximIZ,

GC не сразу освобождает память
...
Рейтинг: 0 / 0
21.12.2012, 17:58
    #38088610
maximIZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память не освобождается
покопался в контроле Map

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<System.Runtime.InteropServices.ComVisibleAttribute(True)>
Public Class Map
    Private MapX As Decimal
    Private MapY As Decimal
    Private CaptionMsg As String

    Public Sub New(ByVal MapX As Decimal, ByVal MapY As Decimal, ByVal CaptionMsg As String)
        Me.MapX = MapX
        Me.MapY = MapY
        Me.CaptionMsg = CaptionMsg

        InitializeComponent()

        Me.WebBrowser.ObjectForScripting = Me
        Me.WebBrowser.DocumentText = My.Resources.GoogleMapSample
    End Sub
End Class



Так вот память расходуется именно когда Me.WebBrowser.DocumentText = My.Resources.GoogleMapSample

Если строку закомментировать, память так сильно не расходуется и главное она отчищается при закрытии.

Это может особенности WebBrowser? Не понятно почему не отчищается память совсем
...
Рейтинг: 0 / 0
21.12.2012, 19:50
    #38088708
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память не освобождается
maximIZЭто может особенности WebBrowser?
ну это же эксплорер.
но если это так критично , качайте влоб эти карты. и сами будете чистить память.
я вот как раз вчера так и сделал. всё летает и памяти не жрёт.
вобще веброузер использовать для отрисовки карт это не гуд.
...
Рейтинг: 0 / 0
21.12.2012, 20:09
    #38088729
maximIZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память не освобождается
beg-in-erкачайте влоб эти карты
Простите а в лоб это как?
...
Рейтинг: 0 / 0
21.12.2012, 21:43
    #38088801
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память не освобождается
maximIZПростите а в лоб это как?
как , как , в лоб. webrequest не работает.
авторGET /kh/v=123&src=app&x=2&y=2&z=2&s=Galile HTTP/1.1
Host: khm0.google.comкак то так.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Память не освобождается / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]