Kung-fu. Как правильно терять ссылку на master string.
В очередной раз пытаясь умерить аппетиты своего приложения для мобилки, нашел забавным поведение эмулятора (adl). Вполне возможно, это распространяется на остальные flash-похожие рантаймы.
Будем "выгружать" т.н. master string. Сразу скажу, что выгрузить его у меня не получилось. А у jacksondunstan можно почитать о технике устранения неприятеля. Я не думаю, что они выгрузили его из памяти. Скорее просто потеряли ссылку на него.
Но вот сама техника подкачала. Ссылка на master string не всегда удалялась. Тогда я немного поэкспериментировал с masterString.substr();
В результате эксперимента удалось найти устойчивое количество ингредиентов, при котором подстрока теряла связь с мастер-строкой. И что бы вы думали? Это magic number! Ответ
Однако я владел мастер-строкой и все эксперименты проводил с ней.
private static const cleaner:Dictionary = new Dictionary(); var masterString:String = byteArray.toString(); // Какая-то строка const magicNumber:uint = 26; if (masterString.length > magicNumber) { var count:uint = masterString.length - magicNumber; var subString:String = masterString.substr(1, count); trace('Check master', flash.sampler.getMasterString(subString) ); // Все та же "какая-то строка" cleaner[subString] = null; delete[subString]; trace('Clear master', flash.sampler.getMasterString(subString) ); // null, крррруть! нет вроде как мастер-строки! }
Тестировал на adl AIR 3.9
Всего комментариев 10
Комментарии
06.11.2013 11:02 | |
Dimarik, у тебя уже всё так круто, что проблема в мастерстроках?
|
06.11.2013 11:07 | |
Ага. У меня строк на 12 Mb. И я не знаю как их выковырять оттуда.
|
06.11.2013 11:10 | |
06.11.2013 11:48 | |
Цитата:
У меня строк на 12 Mb
|
06.11.2013 12:14 | |
Возможно, парсинг ответов с сервера.
|
06.11.2013 12:53 | |
м.. да. засада.
|
06.11.2013 23:32 | |
Я тут скачал войну и мир Толстого. Два фб2 файлика в сумме дают 5.5 метров.
|
07.11.2013 00:20 | |
Ну подумаешь 2 войны и мира загнали, с кем не бывает
|
07.11.2013 14:02 | |
фб2 пожатый формат, скорее всего. У меня raw string.
|
07.11.2013 14:36 | |
>> FictionBook is an open XML-based e-book format
|
Последние записи от dimarik
- Memory allocation на Vector.<IInterface> (07.05.2015)
- [Starling] Тормози меня плавно! (28.10.2014)
- [Starling идиотизмы] Об интерактивных событиях (02.10.2014)
- О типах исключений. (23.04.2014)
- Немного о Vector и ByteArray (28.03.2014)