Чтение онлайн

ЖАНРЫ

Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:

'управления TreeView

Const NUMBER_ITEMS As Integer = 800

'-------------------------------------------------------------------------

'Код для кнопки "Fill: Baseline"

'Использование неоптимизированного подхода для заполнения данными элемента

'управления TreeView

'-------------------------------------------------------------------------

Private Sub UnOptimizedFill_Click(ByVal sender As _

System.Object, ByVal e As System.EventArgs) _

Handles UnOptimizedFill.Click

'Очистить массив для создания одинаковых условий тестирования

If (TreeView1.Nodes.Count > 0) Then

TreeView1.BeginUpdate

TreeView1.Nodes.Clear

TreeView1.EndUpdate

TreeView1.Update

End If

'Для повышения корректности тестирования предварительно выполнить

'операцию сборки мусора. В реальных кодах этого делать не следует!

System.GC.Collect

'Запустить таймер

PerformanceSampling.StartSample(0, "TreeViewPopulate")

'Заполнить данными элемент управления TreeView

Dim i As Integer

For i = 1 To NUMBER_ITEMS

TreeView1.Nodes.Add("TreeItem" + CStr(i))

Next

'Остановить таймер и отобразить результат

PerformanceSampling.StopSample(0)

MsgBox(PerformanceSampling.GetSampleDurationText(0))

End Sub

'-------------------------------------------------------------------------

'Код для кнопки "Clear: Baseline"

'Использование неоптимизированного подхода для заполнения данными элемента

'управления TreeView

'-------------------------------------------------------------------------

Private Sub UnOptimizedClear_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles UnOptimizedClear.Click

'Для повышения корректности тестирования предварительно выполнить

'операцию сборки мусора

System.GC.Collect

'Запустить таймер

PerformanceSampling.StartSample(1, "TreeViewClear")

TreeView1.Nodes.Clear

PerformanceSampling.StopSample(1)

MsgBox(PerformanceSampling.GetSampleDurationText(1))

End Sub

'--------------------------------------------------

'Код для кнопки "Fill: BeginUpdate"

'Подход, в котором используется метод BeginUpdate

'--------------------------------------------------

Private Sub UseBeginEndUpdateForFill_Click(ByVal sender As _

System.Object, ByVal e As System.EventArgs) _

Handles UseBeginEndUpdateForFill.Click

'Очистить массив для создания одинаковых условий тестирования

If (TreeView1.Nodes.Count > 0) Then

TreeView1.BeginUpdate

TreeView1.Nodes.Clear

TreeView1.EndUpdate

TreeView1.Update

End If

'Для повышения корректности тестирования предварительно выполнить

'операцию сборки мусора. В РЕАЛЬНЫХ КОДАХ ЭТОГО ДЕЛАТЬ НЕ СЛЕДУЕТ!

System.GC.Collect

'Запустить таймер

PerformanceSampling.StartSample(2, _

"Populate - Use BeginUpdate")

'Заполнить данными элемент управления TreeView

TreeView1.BeginUpdate

Dim i As Integer

For i = 1 To NUMBER_ITEMS

TreeView1.Nodes.Add("TreeItem" + i.ToString)

Next

TreeView1.EndUpdate

'Остановить таймер и отобразить результат

PerformanceSampling.StopSample(2)

MsgBox(PerformanceSampling.GetSampleDurationText(2))

End Sub

'--------------------------------------------------

'Код для кнопки "Clear: BeginUpdate"

'Подход, в котором используется метод BeginUpdate

'--------------------------------------------------

Private Sub UseBeginEndUpdateForClear_Click(ByVal sender As _

System.Object, ByVal e As System.EventArgs) _

Handles UseBeginEndUpdateForClear.Click

'Для повышения корректности тестирования предварительно выполнить

'операцию сборки мусора. В РЕАЛЬНЫХ КОДАХ ЭТОГО ДЕЛАТЬ НЕ СЛЕДУЕТ!

System.GC.Collect

'Запустить таймер

PerformanceSampling.StartSample(3, "Clear - Use BeginUpdate")

TreeView1.BeginUpdate

TreeView1.Nodes.Clear

Поделиться с друзьями: