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 | |
Полезно
|
Последние записи от dimarik
- Memory allocation на Vector.<IInterface> (07.05.2015)
- [Starling] Тормози меня плавно! (28.10.2014)
- [Starling идиотизмы] Об интерактивных событиях (02.10.2014)
- О типах исключений. (23.04.2014)
- Немного о Vector и ByteArray (28.03.2014)