Memory Management & ARC
ARC, strong/weak/unowned, retain cycle, capture list, การรั่วไหลของหน่วยความจำ, profiling
1ARC (Automatic Reference Counting) ใน iOS คืออะไร?
ARC (Automatic Reference Counting) ใน iOS คืออะไร?
คำตอบ
ARC คือกลไกการจัดการหน่วยความจำอัตโนมัติที่นับการอ้างอิงไปยังออบเจ็กต์ คอมไพเลอร์จะแทรกการเรียก retain และ release โดยอัตโนมัติ ทำให้ไม่ต้องจัดการด้วยตนเอง เมื่อจำนวนการอ้างอิงถึงศูนย์ ออบเจ็กต์จะถูกปลดการจัดสรร (deallocated) ARC ช่วยลดความซับซ้อนของการเขียนโปรแกรม iOS อย่างมากด้วยการป้องกันการรั่วไหลของหน่วยความจำที่พบบ่อย
2strong reference ใน ARC คืออะไร?
strong reference ใน ARC คืออะไร?
คำตอบ
strong reference จะเพิ่มตัวนับการอ้างอิงของออบเจ็กต์ที่ถูกอ้างถึง โดยค่าเริ่มต้น ตัวแปรทั้งหมดเป็น strong reference ออบเจ็กต์จะยังคงอยู่ในหน่วยความจำตราบเท่าที่มี strong reference อย่างน้อยหนึ่งตัวชี้ไปยังมัน การใช้ strong reference มากเกินไปอาจสร้าง retain cycle ที่ขัดขวางการปลดการจัดสรร
3retain cycle (วงจรการคงอ้างอิง) คืออะไร?
retain cycle (วงจรการคงอ้างอิง) คืออะไร?
คำตอบ
retain cycle เกิดขึ้นเมื่อออบเจ็กต์สองตัวหรือมากกว่ายึด strong reference ซึ่งกันและกัน ไม่มีตัวใดถูกปลดการจัดสรรได้เพราะแต่ละตัวขัดขวางไม่ให้ตัวนับการอ้างอิงของอีกตัวถึงศูนย์ สิ่งนี้สร้างการรั่วไหลของหน่วยความจำ retain cycle ป้องกันได้โดยใช้ weak หรือ unowned reference ในความสัมพันธ์แบบวงกลม
deinit มีบทบาทอะไรในการจัดการหน่วยความจำของ ARC?
ความแตกต่างระหว่าง weak และ unowned reference คืออะไร?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ iOS อื่นๆ
พื้นฐาน Swift
พื้นฐานภาษา Swift
พื้นฐาน UIKit
วงจรชีวิตของ UIViewController
UserDefaults & Keychain
วงจรชีวิตของแอปพลิเคชัน
Auto Layout & Constraints
UITableView & UICollectionView
พื้นฐาน SwiftUI
การจัดการ State ใน SwiftUI
การนำทาง SwiftUI
Networking & URLSession
Codable และการแยกวิเคราะห์ JSON
Core Data
การเขียนโปรแกรมเชิงโปรโตคอล
สถาปัตยกรรม MVVM
การแจ้งเตือนแบบ Push
Unit Testing และ XCTest
การทดสอบ UI
Xcode และระบบ Build
Swift Package Manager
Combine Framework
Concurrency & async/await
iOS Design Patterns
การเพิ่มประสิทธิภาพ
ความปลอดภัยและการเข้ารหัส
SwiftUI Advanced
สถาปัตยกรรมแอปพลิเคชัน iOS
เชี่ยวชาญ iOS สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี