WPF + Dispose() & Image

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

WPF + Dispose() & Image

Сообщение FireFenix » 16.04.2010 (Пт) 22:13

Решил перейти с Windows Forms на WPF

В инете нашёл, что объекты WPF не наследуют интерфейс IDisposable, и нужно просто присваивать объектам Nothing и вручную звать сборщик мусора...

Написал такой код
Код: Выделить всё
    Private Sub Main_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
        'tv_Main - TreeView

        Dim Item As New TreeViewItem
        Dim Stack As New StackPanel
        Stack.Orientation = Orientation.Horizontal

        Dim bmp As New BitmapImage
        Dim img As New Image

        img.Stretch = Stretch.Fill
        img.Width = 32
        img.Height = 32

        bmp.BeginInit()
        bmp.UriSource = New Uri("Icon.ico")
        bmp.EndInit()

        img.Source = bmp

        bmp = Nothing

        Dim tb As New TextBlock
        tb.Text = "123"
        tb.VerticalAlignment = Windows.VerticalAlignment.Center

        Stack.Children.Add(img)
        Stack.Children.Add(tb)

        Item.Header = Stack

        tv_Main.Items(0).Items.Add(NewNode)
    End Sub


Код: Выделить всё
img.Source = bmp

1) Передаcт ссылку на объект или сам объект? Т.е. если позвать сборщик он уберёт bmp?

2) Все объекты объявленные в теле любой функции убьются сами? или в конце функи создающей независимые объекты нужно звать сборщик?
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: WPF + Dispose() & Image

Сообщение FireFenix » 18.04.2010 (Вс) 23:20

Наткнулся в инете на интересную тему утечки памяти в WPF - причины и устранения
http://blogs.msdn.com/jgoldb/archive/20 ... tions.aspx

Там же обсуждается и BitmapImage
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

    TopList