ios cpu 使用率
来源:互联网 发布:java程序设计第十版pdf 编辑:程序博客网 时间:2024/05/22 14:06
#include <sys/sysctl.h>#include <sys/types.h>#include <mach/mach.h>#include <mach/processor_info.h>#include <mach/mach_host.h>
ivars:
processor_info_array_t cpuInfo, prevCpuInfo;mach_msg_type_number_t numCpuInfo, numPrevCpuInfo;unsigned numCPUs;NSTimer *updateTimer;NSLock *CPUUsageLock;
*.m file
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{ int mib[2U] = { CTL_HW, HW_NCPU }; size_t sizeOfNumCPUs = sizeof(numCPUs); int status = sysctl(mib, 2U, &numCPUs, &sizeOfNumCPUs, NULL, 0U); if(status) numCPUs = 1; CPUUsageLock = [[NSLock alloc] init]; updateTimer = [[NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(updateInfo:) userInfo:nil repeats:YES] retain]; }- (void)updateInfo:(NSTimer *)timer{ natural_t numCPUsU = 0U; kern_return_t err = host_processor_info(mach_host_self(), PROCESSOR_CPU_LOAD_INFO, &numCPUsU, &cpuInfo, &numCpuInfo); if(err == KERN_SUCCESS) { [CPUUsageLock lock]; for(unsigned i = 0U; i < numCPUs; ++i) { float inUse, total; if(prevCpuInfo) { inUse = ( (cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_USER] - prevCpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_USER]) + (cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_SYSTEM] - prevCpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_SYSTEM]) + (cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_NICE] - prevCpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_NICE]) ); total = inUse + (cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_IDLE] - prevCpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_IDLE]); } else { inUse = cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_USER] + cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_SYSTEM] + cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_NICE]; total = inUse + cpuInfo[(CPU_STATE_MAX * i) + CPU_STATE_IDLE]; } NSLog(@"Core: %u Usage: %f",i,inUse / total); } [CPUUsageLock unlock]; if(prevCpuInfo) { size_t prevCpuInfoSize = sizeof(integer_t) * numPrevCpuInfo; vm_deallocate(mach_task_self(), (vm_address_t)prevCpuInfo, prevCpuInfoSize); } prevCpuInfo = cpuInfo; numPrevCpuInfo = numCpuInfo; cpuInfo = NULL; numCpuInfo = 0U; } else { NSLog(@"Error!"); [NSApp terminate:nil]; }}
0 0
- ios cpu 使用率
- admob在ios平台cpu使用率问题
- cpu使用率
- CPU使用率
- CPU使用率
- CPU使用率
- CPU使用率
- CPU使用率
- 如何得知 CPU 使用率
- cpu的使用率
- CPU使用率占用100%
- 显示 cpu 使用率
- 显示 cpu 使用率
- 计算cpu使用率
- 获取进程cpu使用率
- 如何获取CPU使用率
- 1.1 CPU使用率(0518)
- 获取当前CPU使用率
- mina源码分析五(转)
- &怎么区分它是引用,还是取地址符?
- 如何成为一个C++高级程序员
- 软床调查执行设计--调查对象及方法(2)
- java 产生随机字符串
- ios cpu 使用率
- oracle11配置
- UML之类图
- 十个顶级的C语言资源助你成为优秀的程序员
- 通用套接口选项
- 网络安全盘点及展望--51CTO专题策划
- Dex2jar 与 JD-GUI快速反编译Android apk文件
- Struts2入门--namespace属性详解
- Java生成xml文件