iOS13 一次Crash定位 - 被释放的NSURL.host
每年一次的iOS升级,都会给开发者带来一些适配工作,一些原本工作正常的代码可能就会发生崩溃。 本文讲到了一种 CoreFoundation 对象的内存管理方式在iOS13上遇到的问题。
1. 问题
iOS 13 Beta 版本上,手淘出现了一个必现的崩溃:
Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libobjc.A.dylib 0x00000001d6f9af20 objc_retain + 16 1 CFNetwork 0x00000001d7843f60 0x1d77b0000 + 606048 2 CFNetwork
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
揭秘!如何用Flutter设计一个100%准确的埋点框架?
阿里妹导读:用户行为埋点是用来记录用户在操作时的一系列行为,也是业务做判断的核心数据依据,如果缺失或者不准确将会给业务带来不可恢复的损失。闲鱼将业务代码从Native迁移到Flutter上过程中,发现原先Native体系上的埋点方案无法应用在Flutter体系之上。而如果只把业务功能迁移过来就上线,是极其不负责任的。因此,经过不断探索,闲鱼技术团队沉淀了一套Flutter上的高准确率的用户行为埋点方案,今天由工程师兰昊来和大家分享一下。 用户行为埋点定位 先来讲讲在我们这里是如何定义用户行为埋点的。在如下用户时间轴上,用户进入A页面后,看到了按钮X,然后点击了这个按钮,随即打开了新的页面B。 这个时间轴上有如下5个埋点事件发生: 进入A页面。A页面首帧渲染完毕,并获得了焦点。 曝光坑位X。按钮X处于手机屏幕内,且停留一段时间,让用户可见可触
- 下一篇
Android 8.0 简单适配那些事儿
Android 8.0 以发布很长时间了,基于用户设备和市场要求等迟迟没有适配升级;如今适配时遇到一些问题,整理记录一下!官网 对 Android 8.0 新特性以及适配相关的介绍非常清楚,小菜根据官方要求逐步进行适配升级; 升级 SDK 首先要处理的是 targetSDK = 26 compileSDK >= 26,同步之后要注意项目中三方 SDK 是否需要升级适配,若需要升级请认真参考三方 SDK 文档进行升级,之后小菜建议分别对 debug 和 release 进行测试是否可以进行正常打包;这一步可能简单到只需更改一个版本号而已,也可能牵连很多复杂的三方包的升级等,需认真对待; targetSdkVersion = 26 推送通知 小菜在升级 SDK 之后测试推送消息,部分消息无法正常展示,原因在于 Android 8.0 添加了通知渠道,允许建立不同的通知渠道类型,我们可以创建不同类型的通知渠道,用户方可以选择性的关闭不感兴趣或低优先级的推送消息,优势是不会因为推送消息过多而整体取消; 创建通知渠道需要 ChannelID / ChannelName / importan...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Hadoop3单机部署,实现最简伪集群
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程