У меня вопрос по поводу виртуальной памяти в Python.
Когда процесс потребляет относительно большой объем памяти, он не «освобождает» неиспользуемую память. Например, после создания огромного списка строк, скажем, этот список использует 30 МБ памяти, поэтому весь процесс занимает примерно 40 МБ, при удалении списка процесс все равно потребляет 40 МБ, но если другой список с тем же объемом данных Если процесс создан, процесс не займет больше памяти, поскольку он будет использовать виртуальную память, которая доступна, но не освобождена для ОС.
Мой вопрос: какие данные будут повторно использовать эту нераспущенную виртуальную память? Я имею в виду, что 30 МБ были «взяты» из ОС, когда я создал список строк, и даже когда я его удаляю, следующий список строк не будет занимать больше памяти у ОС, если он умещается в 30 МБ. Но если вместо этого создается список строк, другой тип данных, например QPixmap (из Qt, использующий PyQt), будет ли он использовать эти 30 МБ, изначально выделенные списком строк?
Заранее спасибо.
Редактировать: Ну, этот вопрос звучит лениво. Я знаю, что мог бы просто проверить этот конкретный случай, но я хочу знать, теоретически, я не хочу ответа для этого конкретного случая "списка строк и qpixmap", но в целом.