Общий объем оперативной памяти устройства iOS

Можно ли определить фактический размер оперативной памяти устройства iOS?

Ссылаясь на этот вопрос Определяя доступный объем ОЗУ на устройстве iOS, мы можем определить свободную память, но как получить фактический общий размер.

Ответы

Ответ 1

Простейшим решением для поиска полной ОЗУ в устройстве является использование NSProcessInfo:

Цель C:

[NSProcessInfo processInfo].physicalMemory

Swift

NSProcessInfo.processInfo().physicalMemory

Примечание: physicalMemory дает нам информацию в байтах

Как описано здесь.

Ответ 2

Ответ находится прямо в верхнем ответе вопроса, который вы связали:

natural_t mem_used = (vm_stat.active_count +
                      vm_stat.inactive_count +
                      vm_stat.wire_count) * pagesize;
natural_t mem_free = vm_stat.free_count * pagesize;
natural_t mem_total = mem_used + mem_free;
NSLog(@"used: %u free: %u total: %u", mem_used, mem_free, mem_total);

Ответ 3

Возможно, это то, что вы хотите

- (NSUInteger)totalDiskSizeInGB
   {
       uint64_t totalSpace = 0;
       NSError *error = nil;
       NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,      NSUserDomainMask, YES);
       NSDictionary *dictionary = [[NSFileManager defaultManager]  attributesOfFileSystemForPath:[paths firstObject] error: &error];
       if (dictionary) {
           NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
           totalSpace = [fileSystemSizeInBytes unsignedLongLongValue];
       }
       return totalSpace / pow(1024, 3);
    }

Ответ 4

Незначительное изменение для Swift 3: ProcessInfo.processInfo.physicalMemory

Ответ 5

Следующий код - получить память в GB

//Для получения размера в GB

     [NSProcessInfo processInfo].physicalMemory / (1024.0 * 1024.0 * 1024.0)];

//Быстрая версия

      NSProcessInfo.processInfo().physicalMemory/(1024.0 * 1024.0 * 1024.0)