两个问题都出现在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。

记录最近业务中出现的两个问题相关推荐

  1. 记录:数据分析在业务中的一些应用

    这两天参加一个短期课程,在群里聊天记录中,大家分享了很多有很多养分的内容,觉得很重要,就整理下来了. 感谢大家的分享,也分享给更多的人- 有些在整理的过程中理解吸收了,有些只是复制粘贴下来了.也分享给 ...

  2. 特征工程在实际业务中的应用!

    Datawhale干货 作者:知乎King James,伦敦国王大学 知乎|https://www.zhihu.com/people/xu-xiu-jian-33 导读:大概知道特征工程,但是不清楚特 ...

  3. 百度信息流和搜索业务中的KV存储实践

    导读:近年来,云原生化.全用户态.软硬协同等技术对KV存储服务产生了巨大的影响,上述技术在极大提升了服务的性能和降低服务成本的同时,也对系统的架构和实现提出了新的要求.百度在信息流和搜索业务中大量使用 ...

  4. Java线程池实现原理及其在美团业务中的实践

    来自:美团技术团队 随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流.使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器.J.U.C提供的线程池ThreadPoolExecuto ...

  5. 设计模式在外卖营销业务中的实践

    来自:美团技术团队 业务策略多变导致需求多变,是业界很多技术团队面临的最具挑战的问题之一.那么如何设计一套易于扩展和维护的营销系统呢? 今天的文章来自美团外卖营销技术团队,他们分享了从领域模型到代码工 ...

  6. 万字干货 | 一文揭秘Presto在腾讯资讯业务中的应用

    随着产品矩阵和团队规模的扩张,跨业务.APP的数据处理和分析总是不可避免.一个显而易见的问题就是异构数据源的连通.我们基于PrestoDB构建了业务线内适应腾讯生态的联邦查询引擎,连通了部门内部20+ ...

  7. 关于在呼叫中心业务中应用语音识别技术的探讨

    关于在呼叫中心业务中应用语音识别技术的探讨 摘要:本文首先给出了语音技术的应用现状,接着对语音识别技术在呼叫中心中可应用可尝试的业务进行探讨,最后提出呼叫中心业务中应用语音识别技术的虚拟CSR概念. ...

  8. 实战解读增长黑客在 B 端业务中的应用

    姜菡钰(卡爷),网易云信及网易七鱼市场总监,拥有十余年 B 端与 C 端产品运营推广经验,对于增长黑客在 B 端业务中的运用颇有心得. 本文来源于第七届 TOP 100 全球软件案例研究峰会演讲实录, ...

  9. 缓存系统在游戏业务中的特异性

    版权声明:本文由韩伟原创文章,转载请注明出处:  文章原文链接:https://www.qcloud.com/community/article/243 来源:腾云阁 https://www.qclo ...

最新文章

  1. Mind the Gap: Upgrading Genomes with Pacific Biosciences RS Long-Read Sequencing Technology
  2. 配置vsftpd的遇到的坑及搭建虚拟账户
  3. 母亲的牛奶 Mother's Milk
  4. QT的QCompleter类的使用
  5. java多线程同步与死锁,廖雪峰Java11多线程编程-2线程同步-3死锁
  6. 数据中心扩张和产能计划
  7. python画函数图像要用到的模块_教你如何绘制数学函数图像——numpy和matplotlib的简单应用...
  8. CentOS 7.6+mysql5.7 设置mysql开机自启动。
  9. [转]关于java中的 sychronized 同步方法 与 同步块的理解
  10. Java5种算术运算符,Java算术运算符
  11. android adb 命令启动,如何从adb shell启动和停止android服务?
  12. 三张图片无缝合成一张图片_在PS中如何将两张图片无缝拼接?
  13. 燃烧远征怀旧服务器人数小程序,魔兽怀旧服一直更新下去,最终会开到哪个版本?...
  14. 一个对于三只松鼠视觉稿的分析
  15. 高校圆桌派话题征集第五期来咯
  16. IDEA项目中配置Maven镜像源(下载源)
  17. 从小数据量 MySQL 迁移数据到 TiDB
  18. 本科毕业设计(云计算、深度学习、Python)
  19. 用sqlyog导入mysql中文数据乱码问题
  20. jar包只可调用,无法直接启动使用?Nocas篇之. 配置中心实战(一)

热门文章

  1. Xcode7 出现-fembed-bitcode错误的解决办法
  2. ios中strong和weak的解释理解
  3. 高德地图定位5.0以下
  4. Kali Linux破解WiFi教程
  5. php 实现mqtt 订阅监听功能出错_IoT物联网实现M2M设备之间联动实战
  6. php 图片服务器搭建,php图像裁剪服务器搭建
  7. 程序员2线城市月薪25k,父母让他去北京一家16K国企,网友:去啊
  8. 程序员吐槽:组里新来一个“加班狂”,可把大家害惨了
  9. 2020年最新前端框架大全,Web工程师人手一份!
  10. 认识Java中的异常、异常的基本用法