美文网首页iOS Developer程序员
[ WWDC2018 ] - WWDC Lab:哪些是我们最关心

[ WWDC2018 ] - WWDC Lab:哪些是我们最关心

作者: 字节跳动技术团队 | 来源:发表于2018-06-19 18:16 被阅读179次
    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可以实现类似的功能,建议你试试

    相关文章

      网友评论

        本文标题:[ WWDC2018 ] - WWDC Lab:哪些是我们最关心

        本文链接:https://www.haomeiwen.com/subject/ohoaeftx.html