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

Здесь есть возможность читать онлайн «Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва • Санкт-Петербург • Киев, Год выпуска: 2006, ISBN: 2006, Издательство: Издательский дом Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

  • Название:
    Программирование мобильных устройств на платформе .NET Compact Framework
  • Автор:
  • Издательство:
    Издательский дом Вильямс
  • Жанр:
  • Год:
    2006
  • Город:
    Москва • Санкт-Петербург • Киев
  • ISBN:
    5-8459-0989-9
  • Рейтинг книги:
    4 / 5. Голосов: 1
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Программирование мобильных устройств на платформе .NET Compact Framework: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Программирование мобильных устройств на платформе .NET Compact Framework»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.
Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.

Программирование мобильных устройств на платформе .NET Compact Framework — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Программирование мобильных устройств на платформе .NET Compact Framework», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

if (s_bluePen == null) {

s_bluePen =new System.Drawing.Pen(System.Drawing.Color.Blue);

}

return s bluePen;

}

} //Конец свойства

//=========================================================

//Подход 2:

//Загрузить глобально и кэшировать все

//используемые объекты Pen, ImageAttribute, Font и Brush.

//

//Внешний код получает доступ ко всем общедоступным членам,

//так что никакие функции доступа не нужны.

//=========================================================

public static Pen g_blackPen;

public static Pen g_whitePen;

public static System.Drawing.Imaging.ImageAttributes g_ImageAttribute;

private static bool s_alreadyInitialized;

public static Font g_boldFont;

public static Font g_smallTextFont;

public static Brush g_greenBrush;

public static Brush g_yellowBrush;

public static Brush g_redBrush;

public static Brush g_blackBrush;

//==============================================================

//Эта функция должна быть вызвана до попыток доступа к любому из

//вышеперечисленных глобальных объектов

//==============================================================

public static void InitializeGlobals() {

if (s_alreadyInitialized == true) {

return;

}

g_blackPen = new System.Drawing.Pen(Color.Black);

g_whitePen = new System.Drawing.Pen(Color.White);

g_ImageAttribute = new System.Drawing.Imaging.ImageAttributes();

g_ImageAttribute.SetColorKey(Color.White, Color.White);

g_boldFont = new Font(FontFamily.GenericSerif, 10, FontStyle.Bold);

g_smallTextFont = new Font(FontFamily.GenericSansSerif, 8, FontStyle.Regular);

g_blackBrush = new SolidBrush(System.Drawing.Color.Black);

g_greenBrush = new SolidBrush(System.Drawing.Color.LightGreen);

g_yellowBrush = new SolidBrush(System.Drawing.Color.Yellow);

g_redBrush = new SolidBrush(System.Drawing.Color.Red);

s_alreadyInitialized = true;

}

//=========================================================

//Подход 3: Возвратить массив связанных ресурсов.

// Кэшировать ресурсы локально, чтобы при многократных

// запросах не загружались (понапрасну) их дубликаты.

//=========================================================

private static Bitmap m_CaveMan_Bitmap1;

private static Bitmap m_CaveMan_Bitmap2;

private static Bitmap m_CaveMan_Bitmap3;

private static Bitmap m_CaveMan_Bitmap4;

private static System.Collections.ArrayList m_colCaveManBitmaps;

//--------------------------------------------------

//Создать и загрузить массив изображений для спрайта

//--------------------------------------------------

public static System.Collections.ArrayList g_CaveManPictureCollection() {

//Изображения загружаются лишь в том случае, если мы их еще не загрузили

if (m_CaveMan_Bitmap1 == null) {

//-----------------------------------------------------------------

//Загрузить изображения. Эти изображения хранятся в виде

//встроенных ресурсов в нашем двоичном приложении.

//

//Загрузка изображений из внешних файлов осуществляется аналогичным

//образом, но выполнить ее проще (нам достаточно лишь указать

//имя файла в конструкторе растровых изображений).

//------------------------------------------------------------------

//Получить ссылку на нашу двоичную сборку

System.Reflection.Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly();

//Получить имя сборки

System.Reflection.AssemblyName thisAssemblyName = thisAssembly.GetName();

string assemblyName = thisAssemblyName.Name;

//Загрузить изображения в виде двоичных потоков из нашей сборки

m_CaveMan_Bitmap1 = new System.Drawing.Bitmap(

thisAssembly.GetManifestResourceStream(

assemblyName + ".Hank RightRunl.bmp"));

m_CaveMan_Bitmap2 = new System.Drawing.Bitmap(

thisAssembly.GetManifestResourceStream(

assemblyName + ".Hank_RightRun2.bmp"));

m_CaveMan_Bitmap3 = new System.Drawing.Bitmap(

thisAssembly.GetManifestResourceStream(

assemblyName + ".Hank_LeftRun1.bmp"));

m_CaveMan_Bitmap4 = new System.Drawing.Bitmap(

thisAssembly.GetManifestResourceStream(

assemblyName + ".Hank_LeftRun2.bmp"));

//Добавить их в коллекцию

m_colCaveManBitmaps = new System.Collections.ArrayList();

m_colCaveManBitmaps.Add(m_CaveMan_Bitmap1);

m_colCaveManBitmaps.Add(m_CaveMan_Bitmap2);

m_colCaveManBitmaps.Add(m_CaveMan_Bitmap3);

m_colCaveManBitmaps.Add(m_CaveMan_Bitmap4);

}

//Возвратить коллекцию

return m_colCaveManBitmaps;

}

} //Конец класса

Старайтесь избегать распределения памяти для объектов при выполнении повторяющихся или непрерывно продолжающихся операций рисования

Выполнение лишних операций размещения и уничтожения объектов в памяти является одной из наиболее распространенных причин ухудшения производительности графического кода. Графический код часто выполняется внутри циклов или многократно вызывается. Кроме того, поскольку графические объекты используют значительные объемы памяти, а также системные ресурсы, с их обслуживанием связаны сравнительно большие накладные расходы. Если ваше мобильное приложение распределяет и освобождает память всякий раз, когда необходимо визуализировать изображения, то вы неминуемо столкнетесь с проблемами нехватки памяти, что обусловит необходимость частого выполнения операций по сборке мусора, замедляющих работу приложения. В связи с этим необходимо предельно внимательно анализировать любые участки кода, требующие распределения памяти для объектов в процессе визуализации графики. Особенно это касается объектов, связанных с графическими ресурсами, но остается справедливым и по отношению к объектам другой природы (например, коллекциям, массивам, строкам), которые могут фигурировать в таком коде.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Программирование мобильных устройств на платформе .NET Compact Framework» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Гайдар Магдануров - ASP.NET MVC Framework
Гайдар Магдануров
Отзывы о книге «Программирование мобильных устройств на платформе .NET Compact Framework»

Обсуждение, отзывы о книге «Программирование мобильных устройств на платформе .NET Compact Framework» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.