Junior — Middle
Чӣ қадар хотира дар хотираи амалӣ ҷойгир аст, объекте, ки тавассути истинод сохта шудааст?
sobes.tech AI
Ҷавоб аз AI
ใน iOS วัตถุที่สร้างขึ้นโดยอ้างอิง (เช่น ตัวอย่างของคลาสใน Swift หรือ Objective-C) จะใช้พื้นที่ในหน่วยความจำ RAM ซึ่งขึ้นอยู่กับหลายปัจจัย:
- ขนาดของวัตถุเอง — ผลรวมของขนาดของคุณสมบัติทั้งหมดและโครงสร้างภายในของมัน
- ค่าใช้จ่ายเพิ่มเติมของระบบการจัดการหน่วยความจำ (เช่น สำหรับ ARC)
เมื่อสร้างวัตถุโดยอ้างอิงในหน่วยความจำ จะมีการจัดสรรบล็อกที่เพียงพอสำหรับเก็บข้อมูลทุกฟิลด์และข้อมูลบริการของมัน ตัวชี้อ้างอิง (pointer) ไปยังวัตถุนี้โดยทั่วไปจะใช้ขนาดคงที่ (เช่น 8 ไบต์ในระบบ 64 บิต)
ตัวอย่าง:
class MyClass {
var number: Int = 0
var text: String = ""
}
let obj = MyClass()
ที่นี่ obj เป็นตัวชี้อ้างอิง (pointer) ซึ่งใช้พื้นที่ในหน่วยความจำคงที่ (8 ไบต์ในระบบ 64 บิต) และวัตถุ MyClass เองจะใช้หน่วยความจำเท่าที่จำเป็นสำหรับเก็บ number, text และข้อมูลบริการ
จำนวนหน่วยความจำที่แน่นอนขึ้นอยู่กับฟิลด์เฉพาะของวัตถุและสถาปัตยกรรมของอุปกรณ์ แต่สิ่งสำคัญคือการเข้าใจว่าตัวชี้อ้างอิงและวัตถุเป็นหน่วยงานที่แตกต่างกันโดยมีขนาดต่างกันในหน่วยความจำ.