|
133800,
Guron,
Утечка памяти это такой технический термин, когда программа неправильно работает на достаточно длинном промежутке времени. Вот смотри, какой-либо функции или подпрограмме понадобился участок памяти для хранения данных. Функция, или программа занимает этот участок для себя, а по окончании необходимости, забывает возвращать участок памяти в общее пользование. Затем ей опять нужна память, и она занимает новый участок. И так по кругу. Свободной памяти становится все меньше и меньше, и устройство начинает тормозить - задыхаться. И тогда для решения остается перезагрузка устройства. Все начинается с начала, но результат через время будет таким же. Это можно заметить по постоянному уменьшению размеров свободной памяти. Иногда, памяти может оставаться много, но она становится дефрагментированной - свободные отрезки имеют короткую длину, и хотя их много, нет одного большого свободного отрезка памяти для какого-либо процесса, нуждающегося в нем.
Это все напоминает анекдот про НР, который каждую неделю приезжает в автосалон для покупки нового мерседеса, потому-что в старом пепельница переполнилась. Он ресетит память пепельницы перезагрузкой мерседеса..
Почему такое происходит? От отсутствия культуры правильного написания ПО. Программа работает нормально.. Заметить утечку сложно, и она может начаться при определенных необязательных условиях. К сожалению, такие долговременные баги очень сложно отлавливаются. У корейцев, у Самсунга, большой штат опытных программистов, и жесткие правила для организации создания программного обеспечения. Поэтому их софт чище и надежнее. А вот у китайцев все заточено на скорость создания, поэтому чистота софта находится не в главном приоритете.
Устройство может иметь шикарное железо, но если там софт гавно - то и железо будет работать соответственно.
Кроме софта, есть понятие алгоритмы. Это способ эффективного решения задачи. Чем сильнее алгоритм, тем меньше требуется ресурсов железа. Опять мы подходим к опыту и правильной организации команды программистов. У Самсунга лучше алгоритмы, потому что они опытнее. Соответственно, их устройство будет лучше работать, чем китайское на более сильной аппаратной части.
Станислав Лем, польский фантаст, родом из Львова, как-то очень-очень давно написал, что чем сильнее программа, тем более слабый компьютер ей нужен. И поэтому, может быть написана такая сильная программа, которой вообще не будет нужен компьютер. Эту программу мы называем "заклинанием", а ее создателя - "колдуном". )))
|