[ WWDC2018 ] - WWDC Lab:哪些是我们最关心的问题?

WWDC18.jpg

WWDC Lab Q&A

WWDC期间每天都会有苹果工程师现场答疑活动,这种活动叫Lab。以下是我们的Q&A

Q:记录FPS最准确的方式是什么?
A: CADisplayLink会每隔16ms的时候回调一次,如果没回调就说明掉帧,这是目前最好的办法了。

Q: instruments 中记录FPS的方式和CADisplayLink是一样机制么?
A: 不太一样,instruments使用了一些debug flag来记录FPS,且不会受设备CPU影响,而CADisplayLink会受设备CPU影响,如runloop调度速度会影响CADisplayLink收到回调的速度。

Q: 如何高效处理线上的野指针问题
A: 目前没有专门的工具检测线上的野指针问题(我:如果野指针crash很难复现,且栈信息没什么用怎么办?)栈信息还是很有用的,你能给我看一个崩溃栈么?

crash_stack.png

这个栈显示是MediaPlayer相关的block被多次释放了,你需要找到这个block以及可能释放该对象的代码,然后用Address Sanitizer看

Q: 目前LLVM支持C_C++_Swift的一些内置attribute,我可以定制attribute么?
A: 目前还不支持自定义attribute,你想用这个做什么?(我:配合一些脚本生成代码,就像Java的annotation和注解处理器),C/C++没有任何像Java的东西😂,你用宏或者注释做吧

(我:那Swift呢?),em....Swift我不熟,那边的几个人比较熟(手指向另外几个工程师),额,应该说是他们设计了Swift┑( ̄Д  ̄)┍

(我转而问这几位Swift设计者)

Swift目前(not today)不支持,(我:那以后支持么?)有可能吧,你想拿这个做什么?(我:我用Swift写了一个网络库,目前使用特定的IDL以及脚本来生成Swift代码,不过我希望能用Swift+定制attribute来代替这个IDL),em... Codable可以实现类似的功能,建议你试试

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,008评论 3 119
  • 压抑”是每个人比较惯用的处理愤怒情绪的方式,心理学称为防御机制。 当我们碰到一些不愿意去表达或者不晓得如何...
    喜欢空谷幽兰阅读 260评论 0 0
  • 文|逐光 01 三月初春一个晴朗的早上,阳光明媚,这是美好的一天,我一生中最美好的一天。因为在这一天里,我与百分之...
    我逐光而居阅读 1,474评论 13 30
  • 区块链对商业效率的改进 区块链对商业的价值,还是建立在区块链的价值上。透明公开,公平,效率,都是区块链的价值。我认...
    杨琛11阅读 175评论 0 0
  • 一个重要的节日即将尾声,明天就要开工了。离开澳门,回到重庆,还是要把今天的作业完成,只为纪念这个需要去纪录的...
    谢谢侬_xx阅读 174评论 0 0