メモリ使用量を確認
iOSアプリのメモリ使用量と空きメモリ量を調べるための関数です。参考リンクのコピーなのですが…。どちらの関数も、以下のヘッダファイルをインポートしないと動作しません。ちなみに、machというキーワードで検索するとカーネギメロン大で開発されたOSカーネルの名前が出て来ます。歴史的な経緯で名前だけ残っているのでしょうか。
#import <mach/mach.h>
メモリ使用量
+ (unsigned int)getMemoryUsage {
struct task_basic_info basicInfo;
mach_msg_type_number_t basicInfoCount = TASK_BASIC_INFO_COUNT;
if (task_info(current_task(), TASK_BASIC_INFO, (task_info_t)&basicInfo, &basicInfoCount) != KERN_SUCCESS) {
NSLog(@"[SystemMonitor] %s", strerror(errno));
return -1;
}
return basicInfo.resident_size;
}
空きメモリ量
+ (unsigned int)getFreeMemory {
mach_port_t hostPort;
mach_msg_type_number_t hostSize;
vm_size_t pagesize;
hostPort = mach_host_self();
hostSize = sizeof(vm_statistics_data_t) / sizeof(integer_t);
host_page_size(hostPort, &pagesize);
vm_statistics_data_t vmStat;
if (host_statistics(hostPort, HOST_VM_INFO, (host_info_t)&vmStat, &hostSize) != KERN_SUCCESS) {
NSLog(@"[SystemMonitor] Failed to fetch vm statistics");
return -1;
}
natural_t freeMemory = vmStat.free_count * pagesize;
return (unsigned int)freeMemory;
}
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について