写出方法获取ios内存使用情况
2016-04-21 14:28
447 查看
#import "ViewController.h"
// 获取当前设备可用内存及所占内存的头文件
#import <sys/sysctl.h>
#import <mach/mach.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
double f1 = [self availableMemory];
NSLog(@"%.f",f1);
double f2 = [self usedMemory];
NSLog(@"%.f",f2);
}
// 获取当前设备可用内存(单位:MB)
- (double)availableMemory
{
vm_statistics_data_t vmStats;
mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;
kern_return_t kernReturn = host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t)&vmStats,
&infoCount);
if (kernReturn != KERN_SUCCESS) {
return NSNotFound;
}
return ((vm_page_size *vmStats.free_count)/1024.0)/1024.0;
}
// 获取当前任务所占用的内存(单位:MB)
- (double)usedMemory
{
task_basic_info_data_t taskInfo;
mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;
kern_return_t kernReturn = task_info(mach_task_self(),TASK_BASIC_INFO,(task_info_t)&taskInfo,
&infoCount);
if(kernReturn!=KERN_SUCCESS) {
return NSNotFound;
}
return taskInfo.resident_size / 1024.0 / 1024.0;
}
@end
// 获取当前设备可用内存及所占内存的头文件
#import <sys/sysctl.h>
#import <mach/mach.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
double f1 = [self availableMemory];
NSLog(@"%.f",f1);
double f2 = [self usedMemory];
NSLog(@"%.f",f2);
}
// 获取当前设备可用内存(单位:MB)
- (double)availableMemory
{
vm_statistics_data_t vmStats;
mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;
kern_return_t kernReturn = host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t)&vmStats,
&infoCount);
if (kernReturn != KERN_SUCCESS) {
return NSNotFound;
}
return ((vm_page_size *vmStats.free_count)/1024.0)/1024.0;
}
// 获取当前任务所占用的内存(单位:MB)
- (double)usedMemory
{
task_basic_info_data_t taskInfo;
mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;
kern_return_t kernReturn = task_info(mach_task_self(),TASK_BASIC_INFO,(task_info_t)&taskInfo,
&infoCount);
if(kernReturn!=KERN_SUCCESS) {
return NSNotFound;
}
return taskInfo.resident_size / 1024.0 / 1024.0;
}
@end
相关文章推荐
- 关于NSUserDefaults
- IOS应用版本更新(自动提醒用户)
- 粒子发送器
- IOS学习之——Gesture手势基础
- iOS开发 ☞ NSPredicate 谓词过滤
- iOS开发系列--录音
- IOS中OC与JS互相调用
- iOS 技能图谱
- Nagios 监控系列学习 ―― MRTG监控交换机流量
- IOS 二维码扫描
- Nagios 监控系列学习 ―― check_snmp_int.pl 监控交换机端口状态和流量
- iOS - Quartz2D - 视图绘制周期
- iOS中图片的一些处理,磨砂,压缩,,
- iOS申请证书,Certificates, Identifiers &Profiles 简介
- iOS 排序方法
- iOS开发系列--扩展--播放音乐库中的音乐
- iOS 自带二维码识别(识别二维码,条形码以及从相册中选择图片进行识别)
- 盘点苹果2016WWDC精彩看点, iOS 10官方细节要来了
- iOS 自带的定位系统 (设置注意事项)
- iOS 按钮点击改变背景色