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

ЖАНРЫ

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

PerformanceSampling.StopSample(TEST_NUMBER)

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

'Показать результаты пользователю

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

If (count_SumLessThanZero = numberItterations) Then

MsgBox("Тест выполнен")

ListBox1.Items.Add( _

PerformanceSampling.GetSampleDurationText(TEST_NUMBER))

Else

MsgBox("При выполнении теста возникали осложнения")

End If

End Sub

'==================================================

'Осуществляет многократные вызовы простой функции и

'измеряет общее время выполнения.

'Вызываемая функция ВОЗБУЖДАЕТ исключения

'==================================================

Private Sub buttonRunExceptionCode_Click_Click(ByVal senderAs System.Object, _

ByVal e As System.EventArgs) Handles buttonRunExceptionCode_Click.Click

Const TESTNUMBERAs Integer = 1

'Получить количество итераций Dim numberItterationsAs

Integer numberItterations = _

CInt(textBoxNumberAttempts.Text)

'Отобразить количество итераций, которые надлежит выполнить

ListBox1.Items.Add("=>" + numberItterations.ToString + " итераций")

Dim count_SumLessThanZero As Integer

Dim dataOut As Integer

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

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

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

PerformanceSampling.StartSample(TEST_NUMBER, "Перехват исключения")

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

'Выполнить цикл, в котором осуществляется вызов функции

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

count_SumLessThanZero = 0

Dim sumGreaterThanZero As Boolean

Dim i As Integer

While (i < numberItterations)

Try

'=========================

'Вызвать тестовую функцию!

'=========================

sumGreaterThanZero = _

exceptionIfLessThanZero_Add2Numbers(-2, -3, dataOut)

Catch

count_SumLessThanZero = count_SumLessThanZero + 1

End Try

i = i + 1

End While 'конец цикла

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

'Остановить таймер

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

PerformanceSampling.StopSample(TEST_NUMBER)

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

'Показать результаты пользователю

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

If (count_SumLessThanZero = numberItterations) Then

MsgBox("Тест выполнен")

ListBox1.Items.Add( _

PerformanceSampling.GetSampleDurationText(TEST_NUMBER))

Else

MsgBox("При выполнении теста возникали осложнения")

End If

End Sub

Примеры к главе 8 (производительность и память)

Листинг 8.1. Применение отложенной загрузки, кэширования и освобождения графических ресурсов

Option Strict On

Public Class GraphicsGlobals

Private Shared s_Player_Bitmap1 As System.Drawing.Bitmap

Private Shared s_Player_Bitmap2 As System.Drawing.Bitmap

Private Shared s_Player_Bitmap3 As System.Drawing.Bitmap

Private Shared s_Player_Bitmap4 As System.Drawing.Bitmap

Private Shared s_colPlayerBitmaps As _

System.Collections.ArrayList

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

'Освободить все ресурсы

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

Public Shared Sub g_PlayerBitmapsCollection_CleanUp

'Если не загружено ни одно изображение, то и память освобождать не от чего

If (s_colPlayerBitmapsIs Nothing) Then Return

'Дать указание каждому из этих объектов освободить

'любые удерживаемые ими неуправляемые ресурсы

s_Player_Bitmap1.Dispose

s_Player_Bitmap2.Dispose

s_Player_Bitmap3.Dispose

s_Player_Bitmap4.Dispose

'Обнулить каждую из этих переменных, чтобы им не соответствовали

'никакие объекты в памяти

s_Player_Bitmap1 = Nothing

s_Player_Bitmap2 = Nothing

s_Player_Bitmap3 = Nothing

s_Player_Bitmap4 = Nothing

'Избавиться от массива

s_colPlayerBitmaps = Nothing

End Sub

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

'Функция: возвращает коллекцию изображений

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