Memory Management & ARC
ARC, strong/weak/unowned, retain cycle, capture list, rò rỉ bộ nhớ, profiling
1ARC (Automatic Reference Counting) trong iOS là gì?
ARC (Automatic Reference Counting) trong iOS là gì?
Câu trả lời
ARC là một cơ chế quản lý bộ nhớ tự động đếm số tham chiếu đến một đối tượng. Trình biên dịch tự động chèn các lệnh gọi retain và release, loại bỏ việc quản lý thủ công. Khi số đếm tham chiếu đạt đến không, đối tượng được giải phóng (deallocated). ARC đơn giản hóa đáng kể việc lập trình iOS bằng cách ngăn chặn các rò rỉ bộ nhớ phổ biến.
2Strong reference trong ARC là gì?
Strong reference trong ARC là gì?
Câu trả lời
Một strong reference làm tăng bộ đếm tham chiếu của đối tượng được trỏ tới. Theo mặc định, tất cả các biến đều là strong reference. Đối tượng vẫn ở trong bộ nhớ miễn là có ít nhất một strong reference trỏ tới nó. Sử dụng quá nhiều strong reference có thể tạo ra các retain cycle ngăn cản việc giải phóng.
3Retain cycle (chu trình giữ tham chiếu) là gì?
Retain cycle (chu trình giữ tham chiếu) là gì?
Câu trả lời
Một retain cycle xảy ra khi hai hoặc nhiều đối tượng giữ strong reference lẫn nhau. Không đối tượng nào có thể được giải phóng vì mỗi đối tượng ngăn bộ đếm tham chiếu của đối tượng kia đạt đến không. Điều này tạo ra rò rỉ bộ nhớ. Các retain cycle được ngăn chặn bằng cách dùng weak hoặc unowned reference trong các quan hệ vòng.
Vai trò của deinit trong quản lý bộ nhớ ARC là gì?
Sự khác biệt giữa weak reference và unowned reference là gì?
+19 câu hỏi phỏng vấn
Các chủ đề phỏng vấn iOS khác
Kiến thức cơ bản về Swift
Kiến thức cơ bản về ngôn ngữ Swift
Kiến thức cơ bản về UIKit
Vòng đời UIViewController
UserDefaults & Keychain
Vòng đời của ứng dụng
Auto Layout & Constraints
UITableView & UICollectionView
Kiến thức cơ bản về SwiftUI
Quản lý trạng thái SwiftUI
Điều hướng SwiftUI
Networking & URLSession
Codable & Phân tích JSON
Core Data
Lập trình hướng giao thức
Kiến trúc MVVM
Thông báo Push
Unit Testing & XCTest
Kiểm thử giao diện người dùng
Xcode & Hệ thống Build
Swift Package Manager
Combine Framework
Concurrency & async/await
iOS Design Patterns
Tối ưu hóa hiệu suất
Bảo mật và mã hóa
SwiftUI Advanced
Kiến trúc ứng dụng iOS
Nắm vững iOS cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí