Утечка памяти в Flex Charts - PullRequest
       16

Утечка памяти в Flex Charts

0 голосов
/ 21 января 2010

Я создал пользовательский интерфейс, отображающий 3-4 диаграммы в пользовательском интерфейсе.

замечаю следующее

  1. Как только эти диаграммы загружаются, память IE загружает до 400 МБ, что понятно, потому что некоторые из этих диаграмм похожи на таблицы, отображающие до тысячи строк.

  2. Я заметил, что чем больше я обновляю эти диаграммы, тем больше увеличивается объем памяти IE.

В результате простого обхода кода несколько раз я не смог найти никаких утечек или структур данных, размер которых увеличивался. Я использую Flex Builder 2. У меня есть несколько вопросов:

  1. Когда Flash освобождает память? Могу ли я вернуть эту память ОС?
  2. Есть ли известная утечка памяти в
    Flash?
  3. Какие инструменты могли бы можно мне помочь?
  4. Любое программирование лучше практиковать, как делать неиспользованным Объекты явно как ноль, помогите

Большое спасибо.

У меня есть еще один вопрос, кажется, что IE вообще не освобождает память, если она не свернута?

1 Ответ

1 голос
/ 21 января 2010

1) Эта статья расскажет все о сборке мусора (как управляемые языки заботятся об управлении памятью). По сути, вы не можете контролировать, когда он запускается (есть способ взломать его, но вы не должны его использовать)

http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html

и это

http://blog.flexmonkeypatches.com/2007/03/28/flash-player-memory-management-and-garbage-collection-redux-2/

2) Не должно быть утечки, если вы гарантируете, что ненужные объекты могут быть собраны мусором. Это, как говорится, я не знаком с Flex и, возможно, есть ошибка в рамках ??? РЕДАКТИРОВАТЬ: Кажется, есть много людей, которые имеют проблемы с flex +, т.е. утечки памяти.

3) System.totalMemory по крайней мере поможет вам увидеть, сколько памяти вы используете. РЕДАКТИРОВАТЬ: Забыл упомянуть, что при обновлении до Flex Builder 3 он поставляется с инструментами профилирования памяти

4) Да, если вам больше не нужно что-либо устанавливать значение NULL, это хорошая практика. Не забудьте удалить любых слушателей событий и использовать слабых слушателей, где вы можете. Если ссылка на что-то еще есть, она не будет помечена для сборщика мусора.

...