модератор форума
dimarik. |
Последняя активность: 15.05.2023 20:23
Блог
Просмотреть блог dimarikПоследние записи
Последняя запись
Размещено 07.05.2015 в 21:50
Комментарии 1
Размещено в
Без категории
Всем привет!
Недавно обнаружил интересное поведение при создании нового вектора с интерфейсом.
Суть в том, что создание экземпляра Vector, параметризуемым некоторым типом интерфейса вызывает накладные расходы в виде создания дополнительных экземпляров Object и String. Но ладно бы это происходило только один раз, в некоторых условиях такие дополнительные "плюшки" сыпятся постоянно. А именно...
Если в GCRoot не зарегистрирован хотя бы один экземпляр Vector.<IInterface>,...
Недавно обнаружил интересное поведение при создании нового вектора с интерфейсом.
Суть в том, что создание экземпляра Vector, параметризуемым некоторым типом интерфейса вызывает накладные расходы в виде создания дополнительных экземпляров Object и String. Но ладно бы это происходило только один раз, в некоторых условиях такие дополнительные "плюшки" сыпятся постоянно. А именно...
Если в GCRoot не зарегистрирован хотя бы один экземпляр Vector.<IInterface>,...
Размещено 28.10.2014 в 22:34
Комментарии 7
Размещено в
Без категории
После выхода из бакграунда с потерей контекста на андроид-устройствах встретился с довольно неприятной Starling-фичей. Она называется QuadBatch#registerProgram s(). Эта штука начинает заново компилить в AGAL то, что она уже разок скомпилила. На выхлопе мы получаем офигевший GC от мусора, производимым AGALAssembler, в основном, от операций над String, полем которым является листинг шейдеров, представленных в этой самой QuadBatch#registerProgram s(), а также сам процесс компила в ByteArray.
...
...
Размещено 02.10.2014 в 22:21
Комментарии 2
Размещено в
Без категории
Сегодня на работе был забавный случай. Коллеги, занимающиеся параллельным проектом, в основе которого лежит библиотечка Starling версии 1.5.1 или что там сейчас новее из ихнего стабильного, испытали культурный шок на старлинговских событиях Touch. Оказывается, нет никакой возможности отследить текущий объект, над которым проходит мышка с зажатой ЛКМ. События всегда генерируются с таргетом, над которым была зажата клавиша, даже если курсор покинул этот таргет и "гуляет" уже над другим....
Размещено 23.04.2014 в 00:26
Комментарии 8
Размещено в
Без категории
Ну как обычно, просто, чтобы не забыть куда постил.
Загрузка через Loader#load() может создать как синхронную ошибку, так и асинхронную.
Синхронные исключения... Ах, давай с начала и по порядку!
Начнем, пожалуй.
Привет! Нужно сразу же научиться отличать ошибки от исключений (exceptions).
Ошибки бывают у всех, даже если ты (вдруг, уже) не женат.
Скорее...
Цитата:
а метод обработки ошибок try - catch в данном случае лучше не использовать?
|
Синхронные исключения... Ах, давай с начала и по порядку!
Начнем, пожалуй.
Привет! Нужно сразу же научиться отличать ошибки от исключений (exceptions).
Ошибки бывают у всех, даже если ты (вдруг, уже) не женат.
Скорее...
Размещено 28.03.2014 в 22:48
Комментарии 44
Размещено в
Без категории
Как всегда, буду краток.
Текущая версия Adobe Scout помещает эту память в категорию Uncategorized.
ByteArray освобождает память только по clear(), установка его length = 0 не освобождает...
const someVector:Vector.<SomeT> = new <SomeT>[]; ... добавляем объекты SomeT в someVector someVector.length = 0; // ! освобождения памяти не происходит ! // Память может только расти. Освободить память можно лишь someVector = null;
ByteArray освобождает память только по clear(), установка его length = 0 не освобождает...
Последние комментарии