iOS开发 - 在状态栏显示FPS,CPU和内存信息
2024-09-29 15:55:17
原理
FPS的计算
CoreAnimation有一个很好用的类CADisplayLink
,这个类会在每一帧绘制之前调用,并且可以获取时间戳。于是,我们只要统计出,在1s内的帧数即可。
- (void)envokeDisplayLink:(CADisplayLink *)displayLink{
if (_lastTimestamp == -1) {
_lastTimestamp = displayLink.timestamp;
return;
}
_countPerFrame ++;
NSTimeInterval interval = displayLink.timestamp - _lastTimestamp;
if (interval < 1) {
return;
}
_lastTimestamp = displayLink.timestamp;
CGFloat fps = _countPerFrame / interval;
//...
}
内存和CPU信息的获取
CPU和内存的获取采用了mach头文件中的方法,调用了底层API,采用C方式来获取。
最新文章
- linux软连接和硬链接
- phantomjs和angular-seo-server实现angular单页面seo
- List之Union(),Intersect(),Except()
- jquerymobile页面跳转和参数传递
- jstl格式化数字
- Java Hour7
- MFC版美女找茬
- 为什么Redis比Memcached易
- zabbix 监控mysql主从
- Centos 如何 发布Java项目
- 云计算openstack共享组件(2)——Memcache 缓存系统
- 图片上传组件webuploader
- Python中的变量作用域
- 网络操作系统 第十章 DNS服务器管理与配置
- wireshark抓包工具详细说明及操作使用
- javascript 跨域 的几种方法
- OWA (Office Web Access)
- python类属性在继承中的修改的影响
- EF实现主从表自动生成主键保存
- Qt编写的RTSP播放器+视频监控(ffmpeg版本)
热门文章
- 《精通Spring4.X企业应用开发实战》读后感第六章(内部工作机制、BeanDefinition、InstantiationStrategy、BeanWrapper)
- GET POST区别不同情况
- .NET中的泛型委托
- Torando 入门
- 为什么源码中很多方法就一行throw new RuntimeException(";Stub!";)
- html5增强的页面元素
- JSP读取Oracle数据库里的图片Blob字段并显示在页面上
- Github网站css加载不出来的处理方法(转,亲测有效)
- javascript数组常用的遍历方法
- lintcode-dfs实现二叉树的层序遍历