热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

主线程阻塞导致应用程序在iOS8中崩溃

如何解决《主线程阻塞导致应用程序在iOS8中崩溃》经验,为你挑选了1个好方法。

我的应用程序在启动时崩溃,因为"未能及时更新场景"

这是因为可达性不能按时返回这是堆栈跟踪

com.tjango.Plus3 failed to scene-update in time

Elapsed total CPU time (seconds): 2.590 (user 2.590, system 0.000), 12% CPU 
Elapsed application CPU time (seconds): 0.302, 1% CPU


Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
_semaphore_wait_trap + 8
__dispatch_semaphore_wait_slow + 252
_xpc_connection_send_message_with_reply_sync + 184
___SCNetworkReachabilityServer_targetStatus + 192
___SCNetworkReachabilityGetFlags + 440
_SCNetworkReachabilityGetFlags + 232
-[Reachability currentReachabilityStatus] Reachability.m:295

这只发生在iOS 8上.

它被卡住的功能是Apple的Reachability库:我无法弄清楚为什么这个功能会阻止它.

- (NetworkStatus)currentReachabilityStatus

{

    NSAssert(_reachabilityRef != NULL, @"currentNetworkStatus called with NULL SCNetworkReachabilityRef");

    NetworkStatus returnValue = NotReachable;

    SCNetworkReachabilityFlags flags;



    if (SCNetworkReachabilityGetFlags(_reachabilityRef, &flags))

    {

        if (_alwaysReturnLocalWiFiStatus)

        {

            returnValue = [self localWiFiStatusForFlags:flags];

        }

        else

        {

            returnValue = [self networkStatusForFlags:flags];

        }

    }



    return returnValue;

}

EricS.. 7

可达性可能是iOS上最不正确使用的库.这些规则有助于:

    不应在主线程上调用可达性.在辅助线程上调用它并让该线程通知主线程网络更改.

    在尝试连接之前不要检查网络状态 - 只需尝试连接并根据需要处理错误.有时网络将脱机以节省电量,直到有人尝试连接.

    可达性主要用于检测网络脱机后何时恢复在线状态.您可以在此时重试失败的连接.

请参阅我的评论:iOS Reachability无法捕捉连接到WiFi但未登录的情况



1> EricS..:

可达性可能是iOS上最不正确使用的库.这些规则有助于:

    不应在主线程上调用可达性.在辅助线程上调用它并让该线程通知主线程网络更改.

    在尝试连接之前不要检查网络状态 - 只需尝试连接并根据需要处理错误.有时网络将脱机以节省电量,直到有人尝试连接.

    可达性主要用于检测网络脱机后何时恢复在线状态.您可以在此时重试失败的连接.

请参阅我的评论:iOS Reachability无法捕捉连接到WiFi但未登录的情况


推荐阅读
  • Itseemsthatalabel(lblscore)isoverlappingifIrunmyapponiOS8butnotiniOS7.WhenIche ... [详细]
  • BZOJ4240 Gym 102082G:贪心算法与树状数组的综合应用
    BZOJ4240 Gym 102082G 题目 "有趣的家庭菜园" 结合了贪心算法和树状数组的应用,旨在解决在有限时间和内存限制下高效处理复杂数据结构的问题。通过巧妙地运用贪心策略和树状数组,该题目能够在 10 秒的时间限制和 256MB 的内存限制内,有效处理大量输入数据,实现高性能的解决方案。提交次数为 756 次,成功解决次数为 349 次,体现了该题目的挑战性和实际应用价值。 ... [详细]
  • 题目描述:小K不幸被LL邪教洗脑,洗脑程度之深使他决定彻底脱离这个邪教。在最终离开前,他计划再进行一次亚瑟王游戏。作为最后一战,他希望这次游戏能够尽善尽美。众所周知,亚瑟王游戏的结果很大程度上取决于运气,但通过合理的策略和算法优化,可以提高获胜的概率。本文将详细解析洛谷P3239 [HNOI2015] 亚瑟王问题,并提供具体的算法实现方法,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 在幼儿园中,有 \( n \) 个小朋友需要通过投票来决定是否午睡。尽管这个问题对每个孩子来说并不是特别重要,但他们仍然希望通过谦让的方式达成一致。每个人都有自己的偏好,但为了集体和谐,他们决定采用一种最小割的方法来解决这一问题。这种方法不仅能够确保每个人的意愿得到尽可能多的尊重,还能找到一个最优的解决方案,使整体满意度最大化。 ... [详细]
  • 题目旨在解决树上的路径最优化问题,具体为在给定的树中寻找一条长度介于L到R之间的路径,使该路径上的边权平均值最大化。通过点分治策略,可以有效地处理此类问题。若无长度限制,可采用01分数规划模型,将所有边权减去一个常数m,从而简化计算过程。此外,利用单调队列优化动态规划过程,进一步提高算法效率。 ... [详细]
  • [Offer收割]编程竞赛第8轮 A 小Ho的完美主义倾向
    题目链接:小Ho的完美主义倾向题目描述:小Ho在一条直线型的街道上漫步。这条街道由若干块长度为L的石板铺设而成,因此每隔L的距离就会出现一道石板间的接缝。小Ho对这些规律排列的接缝产生了浓厚的兴趣,他决定研究如何在这条街道上行走,以满足自己对完美路径的追求。本题要求在给定的约束条件下,计算出小Ho能够实现其目标的所有可能方案数。 ... [详细]
  • 分析: 首先判断线段俩直线是否平行(或重合),如果是的话直接求。考虑4个端点到另外一条线段的距离,取最小值即可 ... [详细]
  • IhaveaniPhoneappwithaCorePlotgraph.Ihaveabuttonplacednexttothegraphwhichcallssca ... [详细]
  • 本文提供了 RabbitMQ 3.7 的快速上手指南,详细介绍了环境搭建、生产者和消费者的配置与使用。通过官方教程的指引,读者可以轻松完成初步测试和实践,快速掌握 RabbitMQ 的核心功能和基本操作。 ... [详细]
  • 本研究基于状态空间方法,通过动态可视化技术实现了汉诺塔问题的求解过程,即将n个盘子从A柱移动到C柱。本文提供了一个使用C语言在控制台进行动画绘制的示例,并详细注释了程序逻辑,以帮助读者更好地理解和学习该算法。 ... [详细]
  • 在iOS平台上,应用的流畅操作体验一直备受赞誉。然而,过去开发者往往将更多精力集中在功能实现上,而对性能优化的关注相对较少。本文深入探讨了iOS应用性能优化的关键要点与实践方法,旨在帮助开发者提升应用的响应速度、降低功耗,并改善整体用户体验。通过具体案例分析和技术解析,文章提供了实用的优化策略,包括代码层面的改进、资源管理优化以及界面渲染效率的提升等。 ... [详细]
  • 本文详细解析了如何利用Appium与Python在真实设备上执行测试示例的方法。首先,需要开启手机的USB调试功能;其次,通过数据线将手机连接至计算机并授权USB调试权限。最后,在命令行工具中验证设备连接状态,确保一切准备就绪,以便顺利进行测试。 ... [详细]
  • Panabit应用层流量管理解决方案
    Panabit是一款国内领先的应用层流量管理解决方案,提供高度开放且免费的专业服务,尤其擅长P2P应用的精准识别与高效控制。截至2009年3月25日,该系统已实现对多种网络应用的全面支持,有效提升了网络资源的利用效率和安全性。 ... [详细]
  • ForsomereasonthelocationpropertyonaPHAssetisonlyexposedinObjective-candnotinSwift. ... [详细]
  • Thequestion:HowcanIbenotifiedwhentheframeofmyUICollectionViewchangessothatImayrun ... [详细]
author-avatar
Gravitymann
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有