240 发简信
IP属地:香港
  • Resize,w 360,h 240
    简谈二进制重排

    二进制重排 二进制重排其实并不是什么特别新颖的技术。 目的 二进制重排(layout)的目的在于将hot code聚合在一起,即使得最经常执行的...

    2.5 8164 0 20
  • Resize,w 360,h 240
    arm64e符号翻译与PAC问题

    arm64e由于引入了PAC机制,导致符号地址发生了巨大变化。也给堆栈回溯带来了问题。 背景 从去年新iphone发布后,我们陆陆续续发现cra...

    1.4 6409 1 13
  • Resize,w 360,h 240
    Crash优化与建议

    本文对iOS应用上经常遇到的Crash(常规signal触发的闪退)进行分析,并结合笔者的优化经验,给出Crash分析和建议。 一、Crash与...

    1.1 2832 1 11
  • Crash与信号

    什么是信号 信号(signal)是一种XPC通信方式。signal是一个4字节的无符号整形数字,在iOS/OSX中定义了31个已知的信号;在Un...

  • __block不适合多线程并发

    objc的很多设计,从底层实现上都不完全是线程安全的,这也导致在一些极端的并发情况下,会引起竞争导致的内存访问错误问题。之前分析过_weak的设...

  • 汇编分析一次系统控件系统栈的crash

    系统控件和系统堆栈的crash初看,总以为不好解决,本文通过一步步推导来分析定位,最终找到crash是应用堆栈触发的 一、问题描述 最新线上新版...

  • 一次cache_getImp野指针排查

    1.前言 最近线上突然多了一些crash,类型是SEGV_ACCER,一看就认为是对象野指针了,基本都是多线程读写导致的; 但是仔细再一看cra...

  • 一次_os_object_retain的crash

    _os_object_retain一看挂在dispatch里,想当然都会认为难道系统有bug了,但是问题不都是靠瞎猜的,还是有了分析才好下结论。...

  • 记一次PHP与自动释放池的内存释放的坑

    使用多线程遍历或操作集合对象的时候,务必要注意内存的及时释放,否则一不小心就触发内存峰值而闪退了。 最近新版本发布后,有较多用户反馈闪退;经过部...