美文网首页
iOS 检查应用卡顿工具类

iOS 检查应用卡顿工具类

作者: 耿杰 | 来源:发表于2020-04-01 19:40 被阅读0次

iOS检查界面是否卡顿,通常是监听RunLoop的状态,网上已经有大量的学习教程,这里就不详细描述了。

最近在学习C++,利用C++编写了一个检查应用卡顿工具类,暂时属于半完成品。

  • 实现思路:开启一个子线程, 分别获取在主线程和子线程下获取时间,对比两个时间的差,是否超过8秒,超过则是耗时函数。

github:https://github.com/misaka14/WatchDog

部分代码

// 子线程开启GJiOSCheckWatchDog
static void GJiOSCheckWatchDog() 
{
    // 获取当前时间
    uint64_t curr = GJiOSGetUpTime();

    // 获取上一次主线程的时间
    pthread_mutex_lock(&g_watchdog_lock);
    uint64_t last_time = g_last_time;
    pthread_mutex_unlock(&g_watchdog_lock);
    
    // 说明已经开始警告了
    if (last_time && (curr > last_time + WATCHDOG_ALARM))
    {
        // 打印堆栈信息
        GJiOSAnrAlarmHandler(curr - last_time);
    }

    // 主线程更新一次时间
    dispatch_async(dispatch_get_main_queue(), ^{
        pthread_mutex_lock(&g_watchdog_lock);
        g_last_time = GJiOSGetUpTime();
        pthread_mutex_unlock(&g_watchdog_lock);
    });
}

相关文章

  • iOS 检查应用卡顿工具类

    iOS检查界面是否卡顿,通常是监听RunLoop的状态,网上已经有大量的学习教程,这里就不详细描述了。 最近在学习...

  • iOS通过runloop监控卡顿

    质量监控-卡顿检测iOS实时卡顿监控基于Runloop简单监测iOS卡顿的demo微信iOS卡顿监控系统iOS-R...

  • iOS必读 - 收藏集 - 掘金

    iOS 性能优化总结 - iOS - 掘金关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • iOS卡顿监测方案总结

    iOS卡顿监测方案总结iOS卡顿监测方案总结

  • IOS的性能优化包括哪几点

    iOS性能优化总结 iOS性能优化总结。关于 iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • 卡顿检测资料

    微信iOS卡顿监控系统 卡顿方案思考 卡顿检测 移动端监控体系之技术原理 iOS性能检测

  • iOS离屏渲染之优化分析

    在进行iOS的应用开发过程中,有时候会出现卡顿的问题,虽然iOS设备的性能越来越高,但是卡顿的问题还是有可能会出现...

  • iOS离屏渲染之优化分析

    在进行iOS的应用开发过程中,有时候会出现卡顿的问题,虽然iOS设备的性能越来越高,但是卡顿的问题还是有可能会出现...

  • ios 的离屏渲染

    在进行iOS的应用开发过程中,有时会出现卡顿的问题,虽然iOS的设备性能越来越高,但是卡顿的为题偶尔还是会出现,而...

  • Matrix-iOS 卡顿、内存监控 (一)

    Matrix-iOS 卡顿监控Matrix-iOS 内存监控 一、卡顿检测 Matrix-iOS 在addMoni...

网友评论

      本文标题:iOS 检查应用卡顿工具类

      本文链接:https://www.haomeiwen.com/subject/pvrauhtx.html