iOS 获取APP的CPU、内存等信息

目标是开发一个SDK,嵌入到APP里面,用来统计当前APP的实时CPU、内存等信息

2015.11.17

http://stackoverflow.com/questions/12889422/ios-cpu-usage-for-each-process-using-sysctl

这是第一个找到,采用的是sysctl函数

但是出来的CPU数据和instrument、GT的数据对不上(后两者数据比较接近)

2015.11.19

https://github.com/TianJIANG/ios_monitor

从guithub上搜到的,利用的主要是#import <mach/mach.h> 里面的task_info 等,打开了一道新的大门,后续找到不少类似的方法

http://stackoverflow.com/questions/8223348/ios-get-cpu-usage-from-application

这个答案也是给的这个方法,末尾额外加了一行代码, vm_dealloc,解决leaking问题

补充几个相关的:

http://stackoverflow.com/questions/5182924/where-is-my-ipad-runtime-memory-going%E2%80%8C%E2%80%8B

http://blog.sina.com.cn/s/blog_693de6100101ffwm.html

http://www.zhihu.com/question/22992491

时间: 2024-11-11 04:42:42

iOS 获取APP的CPU、内存等信息的相关文章

脚本获取 app 的 cpu、memory 信息,使用 pychartdir 生成图表

一直想弄个性能的脚本,今天实践了下,很简单,就是用top命令获取当前应用的cpu.mem信息,最后将结果生成图标,这里生成图标的话,使用了pychartdir模块,该模块使用起来还是比较方便的,尤其是帮助文档很全,包含各种demo,就是使用的是未注册版本,底部有广告. pychartdir模块的安装不同于一般模块的安装,稍微有点麻烦,可参考: http://blog.csdn.net/gb112211/article/details/43272049 #top次数 times = 20 #设备当

iOS获取app图标和启动图片名字(AppIcon and LaunchImage&#39;s name)

在某种场景下,可能我们需要获取app的图标名称和启动图片的名称.比如说app在前台时,收到了远程通知但是通知栏是不会有通知提醒的,这时我想做个模拟通知提示,需要用到icon名称:再比如在加载某个控制器时,想设置该控制器的背景图片为启动图片,需要用到启动图片名称. 而事实上icon图片放在系统AppIcon文件夹里,启动图片放在系统LaunchImage文件夹里,取这些图片的名称和其他一般资源图片名称不一样. 为了方便举例子,咱们先简单粗暴点 假设当前项目只支持iPhone设备,并且只支持竖屏:而

iOS获取设备型号、设备类型等信息

设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设备标识:idfa和idfv idfa:全称advertisingIdentifier,官方解释是广告标识,适用于广告推广,这个建议不要轻易使用,如果用了,则App里必须提供广告功能,否则很有可能会在AppStore审核时被拒.而且idfa是可以被用户关闭的(设置->隐私),一旦被关闭,就获取不到了. idfv:全称identifier

iOS 获取 当前设备 可用内存 及当前 应用 所占内存

// 获取当前设备可用内存及所占内存的头文件 #import <sys/sysctl.h> #import <mach/mach.h> // 获取当前设备可用内存(单位:MB) - (double)availableMemory { vm_statistics_data_t vmStats; mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT; kern_return_t kernReturn = host_statistic

ios 获取app版本号

let infoDictionary = Bundle.main.infoDictionary!let appversion = infoDictionary["CFBundleShortVersionString"] as! String   //获取app的版本号 let deviceId = UIDevice.current.identifierForVendor?.description ?? ""   //可以作为标识设备的唯一编号 原文地址:https:

iOS 获取APP相关信息 私有API

/* Generated by RuntimeBrowser Image: /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices */ @interface LSApplicationWorkspace : NSObject // Image: /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices + (i

iOS 获取 APP 的 Launch Image

http://www.cocoachina.com/ios/20151027/13780.html 作者:里脊串 授权本站转载. 启动图(LaunchImage)的管理其实在iOS开始中算比较简单的了,尤其是Xcode引入了xcassets之后,完全是傻瓜式的操作.但是有的时候我们还是需要在Launch Image上做文章. LaunchImage在APP初始化完之后会立即消失并显示APP的界面 但是有的时候我们不希望它这么快就消失(比如有的人希望有个过渡效果 有的人希望等某些设置或者数据加载完

linux下查看CPU内存等信息

Linux查看物理CPU个数.核数.逻辑CPU个数 # 总核数 = 物理CPU个数 X 每颗物理CPU的核数  # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 [[email protected] ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 2 # 查看每个物理CPU中core的个数(即核数) [[email protected] ~]# cat /pr

iOS获取APP的版本号

如上图,iOS有2个版本号,Version和Build,在target->General中可查看. Version在plist文件中的key是"CFBundleShortVersionString",和AppStore上的版本号保持一致,Build在plist中的key是"CFBundleVersion",代表build的版本号,该值每次build之后都应该增加1.这两个值都可以在程序中通过下面的代码获得: [[[NSBundle mainBundle] in