Здесь уже есть несколько хороших ответов, но я хочу затронуть еще один момент. Давайте снова внимательно посмотрим на ваш конкретный вопрос:
Насколько я понимаю, сам фреймворк написан на C ++, а C ++ подвержен утечкам памяти.
- Является ли базовый фреймворк настолько хорошо написанным, что у него абсолютно нет возможности утечки внутренней памяти?
- Есть ли в коде фреймворка что-то, что самостоятельно управляет и даже устраняет свои потенциальные утечки памяти?
- Является ли ответ чем-то еще, что я не учел?
Ключом здесь является различие между вашим кодом и их кодом. Инфраструктура .Net (а также Java, Go, python и другие языки, собираемые мусором) обещают, что если вы будете использовать их код, ваш код не утечет память ... в хотя бы в традиционном смысле. Вы можете оказаться в ситуациях, когда некоторые объекты не освобождаются, как вы ожидаете, но эти случаи слегка отличаются от традиционных утечек памяти, поскольку объекты все еще доступны в вашей программе.
Вы сбиты с толку, потому что правильно понимаете, что это не то же самое, что сказать, что любая созданная вами программа не может вообще иметь традиционную утечку памяти. Все еще может быть ошибка в их коде, которая приводит к утечке памяти.
Так что теперь вы должны спросить себя: вы бы предпочли доверять своему коду или их коду? Имейте в виду, что их код не только проверен первоначальными разработчиками (точно так же, как ваши, не так ли?), Но и защищен от ежедневного использования тысячами (возможно, миллионами) других программистов, таких как вы. Любые существенные проблемы утечки памяти будут в числе первых выявлены и исправлены. Опять же, я не говорю, что это невозможно. Просто лучше доверять их коду, чем себе ... по крайней мере, в этом отношении.
Поэтому правильный ответ здесь - это вариант вашего первого предложения:
Является ли базовый фреймворк настолько хорошо написанным, что у него абсолютно нет возможности утечки внутренней памяти?
Дело не в том, что нет никакой возможности, но в том, что это намного безопаснее, чем управлять им самостоятельно. Я, конечно, не знаю ни о каких известных утечках в структуре.