Тест для утечек памяти в приложениях.NET

Один из примеров: вы хотите центрировать основную область содержимого страницы, но для того, чтобы содержать плавающие элементы внутри нее, она должна быть перемещена. В CSS нет "float: center".

Это не единственный способ «удерживать поплавки» внутри центрированного элемента. Таким образом, это не очень хороший аргумент!

В некотором смысле, это ложная предпосылка, вещь «divs против таблиц».

Быстрое разделение страницы на три столбца? Таблицы проще, если честно. Но ни один профессионал больше не использует их для разметки, потому что они фиксируют расположение элементов страницы на странице.

Настоящим аргументом является «позиционирование, выполненное CSS (возможно, в удаленном файле)», а не «позиционирование, выполняемое HTML на странице». Конечно, каждый может увидеть преимущества первого по сравнению с последним?

  1. Размер - если ваш макет страницы находится в HTML, на страницах он не может быть кэширован, и он имеет повторяться на каждой странице. Вы сэкономите огромную пропускную способность, если ваш макет находится в кэшированном файле CSS, а не на странице.
  2. Несколько разработчиков могут работать над одной и той же страницей одновременно - я работаю над HTML, другой - над CSS. Нет необходимости в репозитории, нет проблем с перезаписью, блокировкой файлов и т. Д.
  3. Вносить изменения проще - будут проблемы с версткой в ​​разных браузерах, но вам нужно исправить только один файл, CSS-файл, чтобы разобраться в них.
  4. Доступность, как уже упоминалось ранее. Таблицы предполагают, что двумерный макет работает для всех. Это не то, как некоторые пользователи видят ваш контент, и это не то, как Google просматривает ваш контент.

Рассмотрим это:

[ picture ] [ picture ] [ picture ]
[ caption ] [ caption ] [ caption ]

, который представляет две строки таблицы с 6 ячейками. Кто-то, кто может видеть двумерный макет таблицы, увидит подпись под каждым изображением. Но при использовании синтеза речи, или КПК, и для паука поисковой системы, это

picture picture picture caption caption caption

, и связь, которая очевидна с таблицей на месте, исчезает.

Являются ли DIVs и CSS лучше для задачи простого размещения прямоугольников на HTML-странице для достижения заданного дизайна в кратчайшие сроки? Нет, вероятно, нет. Но я не занимаюсь быстрым размещением прямоугольников для достижения заданного дизайна. Я думаю о гораздо большей картине.

7
задан BoxOfNotGoodery 17 July 2009 в 12:35
поделиться

7 ответов

Не соответствует вашим требованиям к свободе, но есть один от Red Gate, который, я думаю, стоит предложить - ANTS Memory Profiler

Я использовал ряд их инструментов раньше (некоторые проходят испытания, некоторые мы купили) и сочли их очень хорошими.

2
ответ дан 7 December 2019 в 07:49
поделиться

Я могу порекомендовать http://memprofiler.com/ , но это не бесплатно.

2
ответ дан 7 December 2019 в 07:49
поделиться

Профилировщик производительности Redgate Ants может помочь. Это не бесплатно ... но есть 14-дневная пробная версия, которой может быть достаточно, чтобы ваши службы заработали.

1
ответ дан 7 December 2019 в 07:49
поделиться

Разрешите вашей службе работать и использовать Системный монитор для сбора информации об использовании памяти службой. Кроме того, если вы используете какие-либо неуправляемые ресурсы, убедитесь, что ваш код правильно избавляется от этих ресурсов, используя IDisposable . В неуправляемой среде вы можете легко получить утечки, просто забыв освободить указатели, но это невозможно в управляемой среде. Однако, если вы продолжаете выделять новые объекты и сохранять ссылки на них, чтобы они не могли быть удалены сборщиком мусора, вашей службе потребуется все больше и больше памяти.

1
ответ дан 7 December 2019 в 07:49
поделиться

Я успешно использовал Microsoft CLR Profiler . Обязательно прочтите его документацию , чтобы получить все преимущества.

1
ответ дан 7 December 2019 в 07:49
поделиться

Profile Sharp бесплатный (с открытым исходным кодом) профилировщик производительности и памяти для .NET

0
ответ дан 7 December 2019 в 07:49
поделиться

Не забывайте, что вы можете использовать диспетчер задач Windows, чтобы обнаружить хотя бы наличие утечек памяти в вашей службе.

Другой способ использования диспетчера задач для отслеживайте объекты, чтобы переключиться на вкладку «Процессы», затем перейдите в Просмотр > Выберите столбцы и установите флажок Объекты USER и Объекты GDI (GDI вероятно, бесполезен для вас, поскольку вы используете Службу, но другие могут счесть это полезным.)

0
ответ дан 7 December 2019 в 07:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: