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

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

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT