Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > dimarik

Оценить эту запись

Memory allocation на Vector.<IInterface>

Запись от dimarik размещена 07.05.2015 в 21:50

Всем привет!
Недавно обнаружил интересное поведение при создании нового вектора с интерфейсом.
Суть в том, что создание экземпляра Vector, параметризуемым некоторым типом интерфейса вызывает накладные расходы в виде создания дополнительных экземпляров Object и String. Но ладно бы это происходило только один раз, в некоторых условиях такие дополнительные "плюшки" сыпятся постоянно. А именно...
Если в GCRoot не зарегистрирован хотя бы один экземпляр Vector.<IInterface>, то при создании очередного экземпляра такого вектора вы получите дополнительное (ненужное) выделение памяти для Object и String, с последующим срабатыванием garbage collector. Если кто в теме по вред, наносимый GC, тот должен понять. Берегите свои нетленки.
Проверено под AIR SDK 17 release.
Всего комментариев 1

Комментарии

Старый 12.06.2015 04:19 AlexCooper вне форума
AlexCooper
 
Аватар для AlexCooper
Полезно
 

 


Часовой пояс GMT +4, время: 21:17.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.