![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2001
Адрес: Россия, Дубна
Сообщений: 11
|
Доброго времени суток многоуважаемый All!
Возникла следующая трабла: нужно сделать казалось-бы элементарную задачку, заставить флэш ролик с определенной периодичностью (5 min) лазить на сервак за данными и казать их юзеру. По началу казалось решение данной задачи плевым: делаем мувик из трех кадров (кадр 1) грузим данные через loadVariables и по onClipEvent(data) засовываем данные куда надо, запоминаем текущее Date.getTime() + 5*60*1000; (кадр 2) рисуем анимацию (кадр 3) сравниваем запомненное Date.getTime() с текущим Date.getTime() если текущее время больше запомненного идем на первый кадр за новой порцией данных, иначе на кадр два - продолжать рисовать анимацию. Проблема в следующем: При каждой необходимости узнать текущее время приходится заново создавать объект Date, что IMHO жрет немерянно системных ресурсов и соответственно такое решение неприемлемо. Пробовал обойти данную проблему через getTimer() - результат оказался тем-же ![]() Может кто сталкивался с данным траблом? поделитесь своими изысканиями по данному поводу... WBR, Serge. |
|
|||||
|
  акула
|
когда мне нужно создать какой-либо объект в повторяющемся участке кода, я обычно пишу такую конструкцию:
delete a a = new object() если a уже есть, она умрет :) а потом воскреснет. :) по-моему здоровска. :) |
|
|||||
|
Регистрация: Jul 2001
Адрес: Россия, Дубна
Сообщений: 11
|
Ясное дело здоровска ! если данную конструкцию не написать получишь
полбу MemoryLeak-ом (ух сколько я с этими Leak-ами поимел проблем когда писал свои первые юниховые демоны...) Но фишка не в этом... фишка в том, что a=new Date(); жрет достаточно много ЦПУ и если эта конструкция находится в цикле сжирание 100% процессорнового времени гарантировано. Короче, проблема решилась использованием отдельного Мувиклипа без графики состоящего из трех кадров где в первом loadVariables и wtime=getTimer()+5*60*1000; а в третем сравнение wtime с getTimer(); и переходом либо на первый кадр либо на второй... |
![]() |
Часовой пояс GMT +4, время: 01:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|