간단히 말하자면 중지 될 때까지 가능한 한 많은 메모리를 쉽게 먹을 수있는 코드 스 니펫입니다. 하지만 왜? 범위 내에서 while
을 랩핑하면 autoreleasepool
에 단일 바이트가 유출되지 않습니다. 그러나 현재 범위에만 영향을줍니다. 누출 된 함수 호출이 있으면 누출이 계속됩니다. 그래서 자동 응답 풀에서 누수가 발생하기 쉬운 작업을 마무리하는 것입니다. 그것은 좀 우스꽝스럽고 비 슬퍼 보인다.Swift에서 Foundation.Data 메모리 누수가 발생했습니다.
import Foundation
while true {
let _ = "Foo Bar".data(using: .ascii)
usleep(100)
}
비교 https://stackoverflow.com/questions/25860942/is-it-necessary-to-use-autoreleasepool-in-a-swift-program –