关键词:
【中文标题】UICollectionView 的 99% CPU 使用率 - 显着位置更改未调用“didUpdateLocations”【英文标题】:99% CPU usage of UICollectionView - Significant Location Change not calling "didUpdateLocations" 【发布时间】:2016-02-17 13:17:08 【问题描述】:有效的是,应用程序会在位置发生重大变化时启动到后台。在AppDelegate
中,我检查UIApplicationLaunchOptionsLocationKey
并初始化位置管理器:
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
locationManager.distanceFilter = 50
locationManager.allowsBackgroundLocationUpdates = true
locationManager.startMonitoringSignificantLocationChanges()
初始视图控制器是UITabBarController
,它显示UICollectionViewController
。
当我设置 UICollectionView 中没有单元格时,一切正常,locationManager
的 didUpdateLocations
被调用。
但是,当 UICollectionView
的 numberOfItemsInSection
返回 1 时,didUpdateLocations
不会被调用。相反,UICollectionView
的 CPU 使用率为 99%,持续几分钟,直到应用崩溃。
我从单元格中删除了所有控件和所有代码,所以它现在是一个空单元格,但仍然会发生这种情况。
在 Time Profiler 中,我发现这与 UICollectionViewData setLayoutAttributes
有关。
这里有什么问题?
更新一:setLayoutAttributes
下有栈。
更新 2:应用运行良好,用户正常启动时从未崩溃。
【问题讨论】:
【参考方案1】:你比这个网站上的任何人都更了解代码,但是这看起来很可疑:
您正在通过观察者运行某种循环,无论它们是什么。 看起来每一个它都在做一个回调,那是在做某种需要提交的事务,作为提交的一部分,它正在显示一些东西,作为其中的一部分,它正在做一堆布局,子视图等。 这基本上是所有时间。
您可能希望在完成之前关闭显示更新。
【讨论】:
嗨,迈克,感谢您的调查,我没有打电话给任何观察员,但我找到了解决方案,请参阅上面的答案。【参考方案2】:有趣的是,解决方案是禁用一次重大的位置更改并运行应用程序:
locationManager.allowsBackgroundLocationUpdates = false
locationManager.stopMonitoringSignificantLocationChanges()
重新启用并运行应用程序后,它运行良好:
locationManager.allowsBackgroundLocationUpdates = true
locationManager.startMonitoringSignificantLocationChanges()
我尝试了一切,从删除 3rd 方框架到将应用程序精简到最少的代码,是的,我还清理了构建文件夹 100 次。
iOS 应用程序注册可能有问题,以通知重大位置变化。希望这可以节省我弄清楚这一点所花费的时间。
【讨论】:
如何在 MATLAB 中计算 99% 的覆盖率?
】如何在MATLAB中计算99%的覆盖率?【英文标题】:Howtocompute99%coverageinMATLAB?【发布时间】:2011-01-2400:09:51【问题描述】:我在MATLAB中有一个矩阵,我需要找到每列的99%值。换句话说,99%的人口具有比它更大的值。MATLAB中有这个函... 查看详情
准确率 99%,分类不正确 - 三元网络
...18-05-3119:58:21【问题描述】:我正在尝试按照facenetarticle中的描述训练一个三元组网络。我通过计算正距离(锚-正)小于负距离(锚-负)的三元组,然后除以批次中三元组的总数来计算验证集的准确度.我得到了很好的结果:99%的... 查看详情
如何滚动另一个 UICollectionView 下方的 UICollectionView?
】如何滚动另一个UICollectionView下方的UICollectionView?【英文标题】:HowtoscrollUICollectionViewthatisunderneathanotherUICollectionView?【发布时间】:2017-08-1018:46:59【问题描述】:这是我的问题,您在gif上看到的4个橙色矩形是一个垂直的UICollec... 查看详情
如何计算python线性回归模型中斜率的99%置信区间?
】如何计算python线性回归模型中斜率的99%置信区间?【英文标题】:Howtocalculatethe99%confidenceintervalfortheslopeinalinearregressionmodelinpython?【发布时间】:2016-07-2320:42:25【问题描述】:我们有以下线性回归:y~b0+b1*x1+b2*x2。我知道Matlab中... 查看详情
css属性,可以完成99%的页面编写
border: border:4pxdottedred; 宽度样式颜色solid(实线) border-style: -none: & 查看详情
uicollectionview的使用
...leView;若是需要构建横向滑动列表、多行多列布局,使用UICollectionView+UICollectionViewFlowLayout搭建;更复杂的布局,则可以使用UICollectionView+自定义Layout来实现。UICollectionView工作流程:当UICollectionView显示内容时,先从数据源获取cell... 查看详情
将标题添加到 UICollectionView,而不是 UICollectionView 的部分
】将标题添加到UICollectionView,而不是UICollectionView的部分【英文标题】:AddheadertoUICollectionView,nottosectionofUICollectionView【发布时间】:2015-01-0512:19:06【问题描述】:UITableView也有类似的功能。我可以为UITableView或UITableView中的每个部... 查看详情
设置 UICollectionView 的 UIEdgeInsets
】设置UICollectionView的UIEdgeInsets【英文标题】:SetUICollectionView\'sUIEdgeInsets【发布时间】:2017-03-0412:31:10【问题描述】:我希望UICollectionView的项目位于中心,因此我编写了以下代码:funccollectionView(collectionView:UICollectionView,layoutcollec... 查看详情
UICollectionView 间距不相等
】UICollectionView间距不相等【英文标题】:UICollectionViewSpacingNotEqual【发布时间】:2017-07-0720:01:41【问题描述】:我有一个垂直的UICollectionView,具有标准宽度和可变高度的单元格。我对间距有疑问。对于单元格的每个高度,单元格... 查看详情
每个部分的 UICollectionView 布局
】每个部分的UICollectionView布局【英文标题】:UICollectionViewlayoutforeachsection【发布时间】:2016-07-2100:51:16【问题描述】:我需要将我的UICollectionView部分之一设置为水平滚动,而UICollectionView的其余部分则垂直滚动。例如:SECTION1下... 查看详情
滚动时 UICollectionView 的滞后
】滚动时UICollectionView的滞后【英文标题】:LaginUICollectionViewonScroll【发布时间】:2015-09-2407:32:40【问题描述】:我使用UICollectionView显示存储在NSMutableArray中的一些图像这是我的cellForItemAtIndexPath代码-(UICollectionViewCell*)collectionView:(U... 查看详情
uicollectionview的间距列
】uicollectionview的间距列【英文标题】:interspacingcolumnsofuicollectionview【发布时间】:2013-07-0908:33:50【问题描述】:我正在尝试使用UICollectionView创建一个单元格网格。我会删除所有填充,单元格之间的间距。我使用了布局方法和属... 查看详情
教你如何迅速秒杀掉:99%的海量数据处理面试题(转)
教你如何迅速秒杀掉:99%的海量数据处理面试题本文经过大量细致的优化后,收录于我的新书《编程之法:面试和算法心得》第六章中,新书目前已上架京东/当当作者:July出处:结构之法算法之道blog 前言 一般... 查看详情
如何禁用 UICollectionView 的手势滑动
】如何禁用UICollectionView的手势滑动【英文标题】:HowtodisablegestureswipeforUICollectionView【发布时间】:2014-11-1214:45:57【问题描述】:目前,我正在制作分页UICollectionView。我想从UICollectionView禁用手势滑动效果,因为我要添加UIPagerCont... 查看详情
可以完成99%的静态页面的html标签
HTML:一套浏览器认知的规则HTML分为两个部分,头和身体。一个完整的网页相当于一个裸体的人,我们利用HTML给它穿上衣服,使它更好看。下面我将为大家介绍一下HTML一些基本的标签,而这些基本的标签,基本上可以完成百分之... 查看详情
更改 UICollectionView 部分标题的高度
】更改UICollectionView部分标题的高度【英文标题】:ChangeheightoftheUICollectionViewsectionheader【发布时间】:2014-07-1910:36:59【问题描述】:这是我用来调整UICollectionView的sectionheader高度的方法:funccollectionView(collectionView:UICollectionView!,layo... 查看详情
折叠uicollectionview
参考技术A先分析一下结构,整体是UICollectionView,在UICollectionView头部嵌套一个UICollectionView,详细内容如图所示:先创建一个UICollectionView,UICollectionView的顶部偏移120高度,来做为UICollectionView的头部试图,在头部添加一个UICollectionV... 查看详情
二级的uicollectionview怎么实现
参考技术AUICollectionView和UICollectionViewController类是iOS6新引进的API,用于展示集合视图,布局更加灵活,可实现多列布局,用法类似于UITableView和UITableViewController类。使用UICollectionView必须实现UICollectionViewDataSource,UICollectionViewDelegate,... 查看详情