iOS

Memory Management & ARC

ARC, strong/weak/unowned, retain cycle, capture list, rò rỉ bộ nhớ, profiling

22 câu hỏi phỏng vấn·
Senior
1

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.

2

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.

3

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.

4

Vai trò của deinit trong quản lý bộ nhớ ARC là gì?

5

Sự khác biệt giữa weak reference và unowned reference là gì?

+19 câu hỏi phỏng vấn

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í