Memory Management & ARC
ARC, strong/weak/unowned, retain cycles, capture lists, vazamentos de memória, profiling
1O que é o ARC (Automatic Reference Counting) no iOS?
O que é o ARC (Automatic Reference Counting) no iOS?
Resposta
O ARC é um mecanismo automático de gerenciamento de memória que conta as referências a um objeto. O compilador insere automaticamente as chamadas retain e release, eliminando o gerenciamento manual. Quando a contagem de referências chega a zero, o objeto é desalocado. O ARC simplifica consideravelmente a programação iOS ao evitar vazamentos de memória comuns.
2O que é uma strong reference no ARC?
O que é uma strong reference no ARC?
Resposta
Uma strong reference incrementa o contador de referências do objeto apontado. Por padrão, todas as variáveis são strong references. O objeto permanece na memória enquanto pelo menos uma strong reference apontar para ele. Usar muitas strong references pode criar retain cycles que impedem a desalocação.
3O que é um retain cycle (ciclo de retenção)?
O que é um retain cycle (ciclo de retenção)?
Resposta
Um retain cycle ocorre quando dois ou mais objetos mantêm strong references mútuas. Nenhum pode ser desalocado porque cada um impede que o contador de referências do outro chegue a zero. Isso cria um vazamento de memória. Os retain cycles são evitados usando weak ou unowned references nas relações circulares.
Qual é o papel de deinit no gerenciamento de memória do ARC?
Qual é a diferença entre uma weak e uma unowned reference?
+19 perguntas de entrevista
Outros temas de entrevista iOS
Fundamentos de Swift
Fundamentos da linguagem Swift
Fundamentos do UIKit
Ciclo de vida do UIViewController
UserDefaults & Keychain
Ciclo de vida do aplicativo
Auto Layout & Constraints
UITableView & UICollectionView
Fundamentos de SwiftUI
Gerenciamento de estado no SwiftUI
Navegação SwiftUI
Networking & URLSession
Codable e parsing JSON
Core Data
Programação orientada a protocolos
Arquitetura MVVM
Notificações Push
Testes unitários & XCTest
Testes de interface de usuário
Xcode e sistema de build
Swift Package Manager
Combine Framework
Concurrency & async/await
iOS Design Patterns
Otimização de desempenho
Segurança e criptografia
SwiftUI Advanced
Arquitetura de aplicativos iOS
Domine iOS para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis