app卡顿问题检测--KMCGeigerCounter

介绍:

KMCGeigerCounter是一个iOS帧速计算器,像盖革计数器那样,当动画丢失一帧时它就记录一次。掉帧通常是不可见的,但是很难区分55fps和60fps之间的不同,而KMCGeigerCounter可以让你观测到掉落5帧的情况。可以通过这个来检测app的卡顿程度

使用:

KMCGeigerCounter的使用非常简单:

 [KMCGeigerCounter sharedGeigerCounter].enabled = YES;

说明:

卡顿:         流畅:         比较流畅: 

当动画丢失一帧时它就记录一次  也就是说左边的数字越大 说明app越不流畅  相反 如果顶部的区域基本上一直是灰色  数字不怎么变化 说明app越流畅

效果图:通过对比方法  当我们从网络上加载图片数据时  app使用起来会比较卡顿  左边的数字明显变得很大  所以可以通过这个来检测app的卡顿程度

         

使用注意:

1->You should remove KMCGeigerCounter before shipping to the App Store. It can‘t be good for battery life.

//在app上架到AppStore之前应该移除这个KMCGeigerCounter  因为他对电池性能不好  而且个人认为也不美观

2The iOS Simulator doesn‘t simulate device performance, so consider enabling the tool only for device builds:

//iOS模拟器不能模拟真机的性能,因此只考虑在真机使用时需要用一下代码:(个人认为真机和模拟器上都可以使用)

#if !TARGET_IPHONE_SIMULATOR
[KMCGeigerCounter sharedGeigerCounter].enabled = YES;
#endif

地址:KMCGeigerCounter   Demo (提取码:0522)

PS:因为官方的demo在didFinishLaunchingWithOptions方法中写了比较复杂的代码  而在Xcode7及以上的SDK不允许在设置rootViewController之前做过于复杂的操作  所以程序一直无法正常启动  需要在controller的viewDidLoad方法中添加[KMCGeigerCounter sharedGeigerCounter].enabled = YES;才能正常启动检测

时间: 2024-10-11 16:20:23

app卡顿问题检测--KMCGeigerCounter的相关文章

Android App 卡顿分析

极力推荐Android 开发大总结文章:欢迎收藏 程序员Android 力荐 ,Android 开发者需要的必备技能 Android App 反应卡顿,从技术上将就是UI 渲染慢. UI渲染是从您的应用程序生成一个框架并将其显示在屏幕上的行为. 为了确保用户与您的应用程序的交互顺利,您的应用程序应该在16ms内渲染帧数达到每秒60帧(为什么60fps?). 如果您的应用程序因UI渲染速度缓慢而受到影响,那么系统将被迫跳过帧,用户将感觉到您的应用程序中出现卡顿. 我们把这个叫做jank. 本篇文章

android中app卡顿优化问题

所谓app卡顿原因就是在运行时出现了丢帧,还可能是UI线程被阻塞.首先来一下丢帧现象,android每16ms会对界面进行一次渲染,如果app的绘制.计算等超过了16ms那么只能等下一个16ms才能进行渲染,这就发生了丢帧现象. 手机卡顿出现的原因:1,布局过于复杂:xml布局文件可能存在深层嵌套或者组件过多: 2,重复绘制:一个界面的某一点可能在同一时间进行了多次绘制: 3,内存抖动:系统内存是有限的,系统经常会将不活跃的进程置入外存中就是常说的虚拟内存,当调用它时再把它从外存转入内存,内存外

Android中app卡顿原因分析示例

在知乎回答了一个“为什么微博的app在iPhone比Android上流畅”的问题.后面部分是一个典型的动画卡顿的性能分析过程,因此帖在这里.有编程问题可以在这里交流.知乎链接. ========================================================= 我来说下我所知道的事情.我不知道iOS为什么流畅,但我知道一些Android为什么不流畅的原因. 首先,就题主所说的问题,我用iPad和小米Pad对比了一下微博滑动滚屏这件事情(2014年8月10日目前微博

Android app优化之导致app 卡顿慢的直接原因

大多数用户感知到的卡顿等性能问题的最主要根源都是因为渲染性能.从设计师的角度,他们希望App能够有更多的动画,图片等时尚元素来实现流畅的用户体验.但是Android系统很有可能无法及时完成那些复杂的界面渲染操作.Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染,如果每次渲染都成功,这样就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须在16ms内完成()时间超出16ms越多,丢的帧就越多,可以大概估计一下Android 5秒没响应抛

iOS开发之记一次App卡顿Bug的解决历程(踩了一个StoryBoard的坑)

虽然今天是周末,但是还是要学习的不是.写这篇博客的目的呢是记录一下自己在上次项目迭代中踩的坑,不过这个坑已经填上了.虽然坑不大,但是踩上去肯定能崴脚.其实还是那句话,在没人给你指路的情况下,踩的坑多了,慢慢的就成长了.为了填今天要讲的这个坑,午觉都没睡呢.当然今天博客的内容并不高深,而且出现的几率还是蛮大的,所以喽就记录一下.也许你已经踩过,或者你已经将此坑填上,但是今天是我踩了一脚呢,没办法,还是记录一下吧. 解决历程用一个字描述就是:“删”. 一.描述这个“坑” 首先呢,我们先来看一下这个B

面试必备】深入分析App卡顿原因及优化建议

从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? 知道Android究竟是如何在屏幕上显示我们期望的画面的? 对Android的视图架构有整体把握. 学会从根源处分析画面卡顿的原因. 掌握如何编写一个流畅的App的技巧. 从源码中学习Android的细想. 收获两张自制图,帮助你理解Android的视图架构.从setContentView()说起 public class AnalyzeViewFrameworkActivity extends Activity

Android App卡顿慢优化之多线程优化

本博客涉及的内容有:多线程并发的性能问题,介绍了AsyncTask,HandlerThread,IntentService与ThreadPool分别适合的使用场景以及各自的使用注意事项,这是一篇了解Android多线程编程不可多得的基础文章,清楚的了解这些Android系统提供的多线程基础组件之间的差异以及优缺点,才能够在项目实战中做出最恰当的选择. 1)Threading Performance(线程性能问题) 在程序开发的实践当中,为了让程序表现得更加流畅,我们肯定会需要使用到多线程来提升程

想让安卓app不再卡顿?看这篇文章就够了

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由likunhuang发表于云+社区专栏 实现背景 应用的使用流畅度,是衡量用户体验的重要标准之一.Android 由于机型配置和系统的不同,项目复杂App场景丰富,代码多人参与迭代历史较久,代码可能会存在很多UI线程耗时的操作,实际测试时候也会偶尔发现某些业务场景发生卡顿的现象,用户也经常反馈和投诉App使用遇到卡顿.因此,我们越来越关注和提升用户体验的流畅度问题. 已有方案 在这之前,我们将反馈的常见卡顿场景,或测试过程中常见的

Android 卡顿优化 2 渲染优化

1.概述 2015年初google发布了Android性能优化典范,发了16个小视频供大家欣赏,当时我也将其下载,通过微信公众号给大家推送了百度云的下载地址(地址在文末,ps:欢迎大家订阅公众号),那么近期google又在udacity上开了系列类的相关课程.有了上述的参考,那么本性能优化实战教程就有了坚实的基础,本系列将结合实例为大家展示如何去识别.诊断.解决Android应用开发中存在的性能问题.那么首先带来的就是大家最关注的渲染的性能优化(~~渲染就是把东西绘制到屏幕上). ps:本博客所