Ответ 1
Footprint обозначает размер, занимаемый вашим приложением, в памяти оперативной памяти компьютера.
След может иметь различный смысл, говоря о потреблении памяти. По моему опыту, область памяти часто не включает в себя память, выделенную в куче (динамической памяти) или ресурс, загруженный с диска и т.д. Это связано с тем, что динамические распределения не являются постоянными и могут варьироваться в зависимости от того, как используется приложение или модуль. Когда вы сообщаете о "низкой занимаемой площади" или "высокой занимаемой площади", обычно требуется желаемый или максимальный размер требуемого пространства.
Если, например, в том числе динамическая память в отчете footprint в редакторе изображений, то след будет полностью зависеть от размера изображения, загруженного пользователем в приложение.
В контексте сторонней библиотеки автор библиотеки может оптимизировать объем памяти в статической памяти библиотеки, гарантируя, что вы никогда не связываете больше кода в свой двоичный код приложения, чем это абсолютно необходимо. Общим методом, используемым для этого, например, для C, является распространение библиотечных функций для разделения c файлов. Это связано с тем, что большинство C-компоновщиков свяжут весь код с c файлом в вашем приложении, а не только с вызываемой вами функцией. Поэтому, если вы поместите одну единственную функцию в c файл, все компоновщик будет входить в ваше приложение при его вызове. Если вы поместите пять функций в c файл, компоновщик, вероятно, свяжет их все с вашим приложением, даже если вы используете только один из них.
Все это, как говорится, общее (академическое) определение footprint включает все виды аспектов памяти/хранения.