![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 18
|
Согласно документации, максимальное число элементов в одномерном массиве: 2^32=4294967296. Мне нужен весь диапазон индексов. Пробуем:
var arr:Array=new Array(); arr[0]=false; // ... и др. arr[2147483647]=true; arr[2147483648]=true; // с этого индекса начинаются проблемы arr[3273124597]=true; arr[4294967295]=true; arr.splice(0); // вызывает неуправляемую утечку памяти с crash ошибкой плейера: Add-ons: {972ce4c6-7e08-4474-a285-3208198ce6fd}:3.0.13 BuildID: 2009073022 CrashTime: 1251135034 InstallTime: 1249678458 ProductName: Firefox SecondsSinceLastCrash: 1950 StartupTime: 1251134999 Theme: classic/1.0 Vendor: Mozilla Version: 3.0.13 --------------------------------------- Подозрительный момент: во Flex'овом отладчике по watch видно, что все элементы, начиная с индекса 2147483648 он [отладчик] в 'Expressions' окне отрисовывает уже без квадратных скобок, т.е. выглядит это так: [2147483647]=true; 2147483648=true; 3273124597=true; 4294967295=true; Однако обращения к элементам с этими индексами проходят удачно и значения считываются. Использую SDK 3.3.0. Объем памяти: 2Гб. Это баг или я что-то не так понимаю? |
|
|||||
|
Modus ponens
|
Интересно, в какой ситуации нужен такой большой массив?
Да, и это, ссылку на документацию пожалуйста, как это свойсто length типа int будет вам возвращать такие числа?
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 24.08.2009 в 23:00. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 18
|
Цитата:
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Не int, а uint.
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 18
|
|
|
|||||
|
Modus ponens
|
@ udaaff:
Цитата:
@ microed: Это ссылка на титульную страницу... Вам на самом деле сюда надо было сначала смотреть: http://livedocs.adobe.com/flex/3/langref/Array.html
__________________
Hell is the possibility of sanity |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
@ wvxvw
Цитата:
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 18
|
Цитата:
"Property Detail length:uint A non-negative integer specifying the number of elements in the array." И далее по тексту.. "The uint data type is stored internally as a 32-bit unsigned integer and comprises the set of integers from 0 to 4,294,967,295" Пока всё в документации указывает на index max = 4,294,967,295. Чем докажете, что это всё "для проформы"? Они где-то оговорились или покаялись? |
|
|||||
|
Modus ponens
|
Хм... а вообще - интересный момент... не смотря на то, что аргумент у Array() задан как int, он вполне принимает и бОльшие значения...
Возможно зависит от версии плеера, потому что у меня ваш код не вызывает никаких исключений.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 18
|
Для прогонки использую плагин для firefox v10.0 r12. На нем и проявилось..
|
![]() |
![]() |
Часовой пояс GMT +4, время: 05:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|