记录最近业务中出现的两个问题
两个问题都出现在iOS 9上,用户比例大概是在10%左右,还是占了比较大的比例,但我们平时开发所使用的测试机和模拟器都是iOS 10,同时这两个问题出现的场景需要较多的条件,于是问题就这么漏过去了。
1.TTTAttributedLabel的text中包含emoji会引发内存溢出.
https://github.com/TTTAttributedLabel/TTTAttributedLabel/issues/601
上面是这个问题的issue,具体就不分析了,解决办法和原因都在issue里,只是发现这个问题的过程实在太过曲折——运营那边不停在向我们抱怨用户反馈crash,可是fabric上真的干净得如一张白纸(其实也不太干净)啊。
2.UICollectionView dataSource is not set.
iOS9中,UICollectionView removeFromSuperView时,会调用DataSource中的一些方法,此时如果DataSource已经释放,就会出现上图中的crash。iOS 10中UIKit中对这部分逻辑做了改动,因此不会crash了。
而造成DataSource会被提前释放的很大可能原因就是,在构造UICollectionView的实例时,UICollectionView的superView与DataSource生命周期不一致。举例说:在A类中创建了UICollectionView和BView的实例,同时把UICollectionView加入了BView的subviews,但是DataSource设置为了A类,如果A的生命周期比BView要长,那就不会有问题,但是如果A在BView前先被析构了,就会引发crash。
解决办法,在A的dealloc中将UICollectionView提前removeFromSuperView。
记录最近业务中出现的两个问题相关推荐
- 记录:数据分析在业务中的一些应用
这两天参加一个短期课程,在群里聊天记录中,大家分享了很多有很多养分的内容,觉得很重要,就整理下来了. 感谢大家的分享,也分享给更多的人- 有些在整理的过程中理解吸收了,有些只是复制粘贴下来了.也分享给 ...
- 特征工程在实际业务中的应用!
Datawhale干货 作者:知乎King James,伦敦国王大学 知乎|https://www.zhihu.com/people/xu-xiu-jian-33 导读:大概知道特征工程,但是不清楚特 ...
- 百度信息流和搜索业务中的KV存储实践
导读:近年来,云原生化.全用户态.软硬协同等技术对KV存储服务产生了巨大的影响,上述技术在极大提升了服务的性能和降低服务成本的同时,也对系统的架构和实现提出了新的要求.百度在信息流和搜索业务中大量使用 ...
- Java线程池实现原理及其在美团业务中的实践
来自:美团技术团队 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流.使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器.J.U.C提供的线程池ThreadPoolExecuto ...
- 设计模式在外卖营销业务中的实践
来自:美团技术团队 业务策略多变导致需求多变,是业界很多技术团队面临的最具挑战的问题之一.那么如何设计一套易于扩展和维护的营销系统呢? 今天的文章来自美团外卖营销技术团队,他们分享了从领域模型到代码工 ...
- 万字干货 | 一文揭秘Presto在腾讯资讯业务中的应用
随着产品矩阵和团队规模的扩张,跨业务.APP的数据处理和分析总是不可避免.一个显而易见的问题就是异构数据源的连通.我们基于PrestoDB构建了业务线内适应腾讯生态的联邦查询引擎,连通了部门内部20+ ...
- 关于在呼叫中心业务中应用语音识别技术的探讨
关于在呼叫中心业务中应用语音识别技术的探讨 摘要:本文首先给出了语音技术的应用现状,接着对语音识别技术在呼叫中心中可应用可尝试的业务进行探讨,最后提出呼叫中心业务中应用语音识别技术的虚拟CSR概念. ...
- 实战解读增长黑客在 B 端业务中的应用
姜菡钰(卡爷),网易云信及网易七鱼市场总监,拥有十余年 B 端与 C 端产品运营推广经验,对于增长黑客在 B 端业务中的运用颇有心得. 本文来源于第七届 TOP 100 全球软件案例研究峰会演讲实录, ...
- 缓存系统在游戏业务中的特异性
版权声明:本文由韩伟原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/243 来源:腾云阁 https://www.qclo ...
最新文章
- Mind the Gap: Upgrading Genomes with Pacific Biosciences RS Long-Read Sequencing Technology
- 配置vsftpd的遇到的坑及搭建虚拟账户
- 母亲的牛奶 Mother's Milk
- QT的QCompleter类的使用
- java多线程同步与死锁,廖雪峰Java11多线程编程-2线程同步-3死锁
- 数据中心扩张和产能计划
- python画函数图像要用到的模块_教你如何绘制数学函数图像——numpy和matplotlib的简单应用...
- CentOS 7.6+mysql5.7 设置mysql开机自启动。
- [转]关于java中的 sychronized 同步方法 与 同步块的理解
- Java5种算术运算符,Java算术运算符
- android adb 命令启动,如何从adb shell启动和停止android服务?
- 三张图片无缝合成一张图片_在PS中如何将两张图片无缝拼接?
- 燃烧远征怀旧服务器人数小程序,魔兽怀旧服一直更新下去,最终会开到哪个版本?...
- 一个对于三只松鼠视觉稿的分析
- 高校圆桌派话题征集第五期来咯
- IDEA项目中配置Maven镜像源(下载源)
- 从小数据量 MySQL 迁移数据到 TiDB
- 本科毕业设计(云计算、深度学习、Python)
- 用sqlyog导入mysql中文数据乱码问题
- jar包只可调用,无法直接启动使用?Nocas篇之. 配置中心实战(一)