iOS에서 메모리 누수를 쉽게 감지하는 방법
5939 단어 XcodeiOSSwiftObjective-C
소개
Debug Memory Graph
등을 사용하는 방법도 있지만 매번 조사하는데 비용이 든다.LifetimeTracker
에 대해 자세히 정리합니다 LifetimeTracker란?
Find retain cycles/memory leaks sooner.
krzysztofzablocki/Sourcery의 기여자이기도합니다. krzysztofzablocki이 저자입니다.
환경
Xcode 10.1
Build version 10B61
Apple Swift version 4.2.1 (swiftlang-1000.11.42 clang-1000.11.45.1)
Target: x86_64-apple-darwin18.2.0
도입 방법
1. pods or carthage에서 LifetimeTracker 설치
pods
pod 'LifetimeTracker'
carthage
github "krzysztofzablocki/LifetimeTracker"
2. 설정 처리를 AppDelegate에 추가
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
LifetimeTracker.setup(onUpdate: LifetimeTrackerDashboardIntegration(visibility: .alwaysVisible, style: .bar).refreshUI)
return true
}
3. 메모리 누수를 조사하고 싶은 ViewController에 구현을 추가
import UIKit
import LifetimeTracker
class ViewController: UIViewController {
static var lifetimeConfiguration = LifetimeConfiguration(maxCount: 1, groupName: "VC")
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
trackLifetime()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
trackLifetime()
}
}
extension ViewController: LifetimeTrackable {}
실제 화면
maxCount
를 설정하면 인스턴스 수가 maxCount
를 초과하면 메뉴에 경고로 표시됩니다.groupName
를 지정하면 메뉴에서 다른 그룹으로 함께 표시됩니다.참고 링크
Reference
이 문제에 관하여(iOS에서 메모리 누수를 쉽게 감지하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t_osawa_009/items/8cd601d15ee8e5d3d30e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)