2012-06-22 3 views
0

나는 방법 아래에서 사용 가능한 메모리를 얻고있다 : 메소드가 리턴 위ipad의 잘못된 사용 가능한 메모리를 얻고 있습니까?

static void print_free_memory() { 
float totalSpace = 0.0f; 
NSError *error = nil; 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error]; 

if (dictionary) { 
    NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize]; 
    totalSpace = [fileSystemSizeInBytes floatValue]; 
    NSLog(@"Total memory:%f",totalSpace); 
    freeMemAvailable = [[dictionary objectForKey:NSFileSystemFreeSize] floatValue]; 
    NSLog(@"Free Memory:%f",freeMemAvailable); 
} else { 
    NSLog(@"Error Obtaining File System Info: Domain = %@, Code = %@", [error domain], [error code]); 
} 
} 

= 9139.650391 메가 바이트 ~ 9.14 GB 및 디바이스 메모리에이 장치 = 8.4 GB

약 700 메가 바이트 차이에 표시됩니다. 왜 그래야만하지? 어떤 제안.

장치의 장치 메모리를 확인하는 데 사용한 경로는 다음과 같습니다. 로 이동 : - 설정 -> 일반 -> 정보 -> 사용 가능한

답변

2

귀하의 계산은 이렇게 반환 된 값은 당신이 (1024*1024*1024) = 1073741824

를 BU 분할해야합니다 9139650391이었다 가정 기능 바이트의 크기를 반환 정확하지 않습니다

그렇게 9139650391/1073741824 약 8.5 GB에 해당하지 9.14 GB 100 메가 바이트의 차이에 대한

, 거기에 여전히 차이가 있지만 700메가바이트

+0

감사 오마르만큼 크지 않다. 당신 말이 맞아요. 나는 10^6으로 나누고 있었다. 하지만 여전히 ~ 100 MB의 차이가 있습니다. 어떤 생각? – iDilip

+0

이 100MB는 내가 아는 것이 아니라, 더 자세히 조사 할 것입니다. –

관련 문제