2014-12-05 2 views
2
내가 몇 하드 코딩 수집 된 데이터 (예 : NSArray, NSDictionary)가 필요하고, 내가 예를 들어, 메모리 사용량이처럼 무엇인지 궁금하네요

,아이폰 OS : 방법에 정의 된 지역 변수의 메모리 풋 프린트

- (NSArray *)getDataA 
{ 
    NSArray *data = @[ @{@"key": @"value"} ]; 
    return data; 
} 

실제 데이터는 위의 코드에서 키 - 값 이상입니다.

로컬 변수가 스택에 저장되어 있고 실제 값이 힙에있는 것 같지만 getDataA을 호출하기 전에 메모리 공간을 차지합니까?

감사합니다.

+1

MB가 없으면 크기가 중요하지 않습니다. 모든 최적화와 마찬가지로 :하지 마십시오. 가장 명확한 구현을 수행 한 다음 측정하십시오. – zaph

+0

예제의 메모리 크기는 O (n)입니다. Zaph가 말했듯이, 배열의 실제 MB는 공간이 부족할 때까지 중요하지 않습니다. – CrimsonChris

답변

0

질문과 같은 구조는 런타임에 실행되는 코드에 의해 만들어 지므로 정적이 아닙니다. 상수 NSString은 예외이며 일부 NSNumber와 같은 몇 가지 특별한 경우 일 수 있습니다.

MB가 없으면 크기가 중요하지 않습니다. 모든 최적화와 마찬가지로 :하지 마십시오. 가장 명확한 구현을 수행 한 다음 측정하십시오.

관련 문제