|
|
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
Начал изучать Ajax для мониторинга в реалтайме и вот с толкнулся с проблемой: Каждый новый цикл JavaScript заглатывает оперативку. В результате чего программа особо долго работать не может. Пробовал очищать все переменные через delete, но толку от этого нет. Кто нибудь сталкивался с этой проблемой? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 17:46 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
может сделать глобальный request а не создавать каждый раз новый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2007, 18:16 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
Пробовал делать его глобальным, создавать конструктор не в цикле, а перед ним, но память продолжает утекать. Всему виной эта строчка: http_request.send(null); но без неё собственно и не будет работать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 09:24 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
Вы на IE пробуете штоле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 11:25 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
я тоже думаю что создавать каждый раз соединение в цикле это глум. тут статья по тому что жрет память в осле http://htmlcoder.visions.ru/JavaScript/?29 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 11:57 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
Здесь я напечатал просто пример, т.к. печатать весь код как есть не вижу никакого смысла. Программма пишется для осла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:15 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
Попробовал сделать как написанно в статье. нефига. Даже такой пример всё равно жрёт: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2007, 17:42 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
используй нормальные браузеры или хотя бы готовые аяксовые апи, например prototypejs. возможно там они как-то решают этот вопрос с кривым браузером _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 11:59 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
Firefox жрет если инасталированно куча плагинов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 13:07 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
Жрёт сам InternetExplorer. Плагинов на нём не висят, кроме одного. Frenzy, а что по твоему мнению есть "не кревые броузеры"? В данном случае кроме IE никакой броузер не устраивает, т.к. аякс подгружает данные для ActiveX компонента, который работает только с IE. Пример работы с Ajax брал с w3scools и с гугла, вот только из за нечастых обращений к средствам аякса они не запариваются по поводу утечки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 13:36 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
хорошо, помимо кривого браузера еще и кривые активх (кстати есть и другие активх (не XMLHTTP) с аналогичной функциональностью и у них было чтото типо close() который освобождал память но точно не помню). для сравнения попробуй сделай в Фаерфоксе с пом XMLHttpRequest _______________________________________ 2pro4U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 15:06 |
|
||
|
Ajax пожирает память
|
|||
|---|---|---|---|
|
#18+
http://xmlhttprequest.ru/Утечки памяти В Internet Explorer объект XmlHttpRequest принадлежит миру DOM/COM, а Javascript-функция - миру Javascript. Вызов req.onreadystatechange = function() { ... } неявную круговую связь: req ссылается на функцию через onreadystatechange, а функция, через область видимости - видит (ссылается на) req. Невозможность обнаружить и оборвать такую связь во многих (до IE 6,7 редакции июня 2007?) версиях Internet Explorer приводит к тому, что XmlHttpRequest вместе с ответом сервера, функция-обработчик, и всё замыкание прочно оседают в памяти до перезагрузки браузера. Чтобы этого избежать, ряд фреймворков (YUI, dojo...) вообще не ставят onreadystatechange, а вместо этого через setTimeout проверяют его readyState каждые 10 миллисекунд. Это разрывает круговую связку req <-> onreadystatechange, и утечка памяти не грозит даже в самых глючных браузерах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2007, 17:34 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=34863475&tid=1454670]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 515ms |

| 0 / 0 |
