Junior — Middle
Explique os princípios básicos da gestão de memória em sistemas de software
sobes.tech IA
Resposta da IA
Os princípios básicos de gestão de memória em sistemas de software incluem:
- Atribuição de memória — processo de reservar uma área de memória para armazenar dados ou código.
- Liberação de memória — devolver a memória previamente atribuída ao sistema para reutilização.
- Gestão do ciclo de vida dos objetos — determinar quando um objeto já não é necessário e sua memória pode ser libertada.
- Recolha de lixo (Garbage Collection) — mecanismo automático de procura e libertação de objetos não utilizados.
- Contagem de referências (Reference Counting) — método de gestão do ciclo de vida dos objetos, onde um objeto é eliminado quando o número de referências a ele chega a zero.
Por exemplo, no iOS, é utilizada gestão automática de memória através do ARC (Contagem Automática de Referências), que aumenta e diminui automaticamente o contador de referências dos objetos, libertando-os quando deixam de ser necessários.
Exemplo com ARC:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Alice")
var person2 = person1 // o contador de referências aumenta
person1 = nil // o contador diminui
person2 = nil // o objeto é libertado
Uma gestão adequada de memória ajuda a evitar fugas e falhas no funcionamento das aplicações.