일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- flutter
- embedded-swift
- dartz
- SampleApp
- 문법
- iot
- dgcharts
- OpenAI
- EventLoop
- chartsorg
- tuist
- uikit
- Xcode
- Architecture
- dart
- weatherkit
- designpattern
- LifeCycle
- philipshue
- SwiftUI
- WWDC24
- WebSocket
- AppleDeveloper
- GIT
- isolate
- network
- swift
- raspberrypi5
- builder
- URLSession
Archives
- Today
- Total
Jaebi의 Binary는 호남선
Swift - Memory 기초 본문
목차
메모리 구조
![]() |
|
|
|
|
|
|
Heap
- Swift에서는 클래스 인스턴스, 클로저 같은 참조 타입의 값은 Heap에 자동 할당
- free, release를 할 필요 없음 → ARC가 Heap에 할당된 메모리가 쓸모 없어지면 (참조되지 않으면) 자동으로 해제
- 장점 → 메모리 크기 제한 없음, 프로그램의 모든 함수에서 액세스 가능 (본질적인 범위가 전역)
- 단점 → 할당 & 해제 작업으로 속도 저하, 힙 손상 & 경합 으로 속도 저하, 메모리 직접 관리 해줘야 함
Stack
- LIFO (last in, first out) 데이터 구조
- CPU에 의해 관리되고 최적화 되어 속도가 매우 빠름
- 장점 → 매우 빠른 속도, 메모리 직접 해제 필요 없음
- 단점 → 메모리 크기 제한, 지역 변수만 액세스 가능
![]() |
|
|
Reference
iOS) 메모리 구조 (Code, Data, Stack, Heap)
안녕하세여~~ 소들입니다 :-))))) 오늘 웬 듣보잡 버그 한 놈이 나왔는데 처음에 메모리 참조 오류인 줄 알고 하루 종일 메모리에 대해서 공부 했는데 버그 원인은 메모리가 아니었음ㅋ (디코딩 네
babbab2.tistory.com
'Swift' 카테고리의 다른 글
SwiftUI - App Protocol (0) | 2024.07.21 |
---|---|
ARC (Automatic Reference Counting) (0) | 2024.07.20 |
Swift - 문법 (접근 제어) (0) | 2024.07.20 |
Swift Local Network Connection (0) | 2024.06.19 |
Swift Wi-Fi Configuration (0) | 2024.06.19 |