私は以下の方法から利用可能なメモリを取得しています:
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 mb〜9.14 GBを返し、デバイスに表示されるデバイスメモリ上で= 8.4 GB
約700MBの違い。なんでそうなの?助言がありますか。
デバイス上のデバイスメモリを表示するために使用したパスは次のとおりです。移動:-[設定]->[一般]->[バージョン情報]->[利用可能]