240 发简信
  • @皮拉夫大王在此 嗯嗯,好的~

    基于mach-o+反汇编的无用类检测

    一、为什么要做无用代码检测 58在前段时间通过无用图片扫描和无用图片线上监控实现了对APP资源的瘦身,并且取得了不错的效果。但是目前缺乏对代码进行瘦身的技术手段。并且从分析结...

  • 链接阶段,比如项目里有A、B、C三个类(B、C两个类互相调用,但是其它地方没有调用B/C),那都会被链接进可执行文件。但是如果A、B、C三个类都在静态库里,项目只调用了A类,那只会把A类链接进可执行文件,虽然B、C两个类互相调用,也不会被链接进可执行文件的。

    基于mach-o+反汇编的无用类检测

    一、为什么要做无用代码检测 58在前段时间通过无用图片扫描和无用图片线上监控实现了对APP资源的瘦身,并且取得了不错的效果。但是目前缺乏对代码进行瘦身的技术手段。并且从分析结...

  • 打错了,是“不知道我有没有描述清楚”

    基于mach-o+反汇编的无用类检测

    一、为什么要做无用代码检测 58在前段时间通过无用图片扫描和无用图片线上监控实现了对APP资源的瘦身,并且取得了不错的效果。但是目前缺乏对代码进行瘦身的技术手段。并且从分析结...

  • 哈哈,我也解决过classref偏差问题,从你方案里我学到了一些,我也给几个小建议(不一定适用你项目,主要为了技术交流):
    1、解决基类没有加入classref,遍历已经在classref里的类(而不是遍历classlist),把classref里的类的父类给加入classref即可。
    2、解决只调用+load没有加入classref,除了遍历__nlclslist,还要遍历__nlcatlist section,分类有load,会加入到这里。
    3、就是解决A、B、C等多个类之间有调用引用关系,但是项目中没有地方对这几个类有调用。(常见一个功能已经废弃了,但是这个功能代码还在项目里;或者你说的,只有自己调用了自己,但是外界并没有调用这个类):我是用静态库来做了,我把项目代码放到放到静态库a里,然后壳引用a静态库,不要用-objc等编译参数(可以用内联假函数等方式解决a静态库里的分类等情况),项目静态库化前后的classlist一对比,就可以找出前后一个功能互相调用了,但是其它地方没有调用的情况。

    不知道我有没有描述情况~ 感兴趣可以加我WX:W343881414 我博客地址:https://juejin.im/user/5aaf755cf265da23870ea3cf/posts

    基于mach-o+反汇编的无用类检测

    一、为什么要做无用代码检测 58在前段时间通过无用图片扫描和无用图片线上监控实现了对APP资源的瘦身,并且取得了不错的效果。但是目前缺乏对代码进行瘦身的技术手段。并且从分析结...

  • 老哥,你是看https://github.com/maniackk/TimeProfiler 这个的吧。

    监控OC方法耗时

    监控OC方法耗时 Time Profiler hook objc_msgSend的效果 objc_msgSend hook objc_msgSend hook objc_ms...

  • 监控所有的OC方法耗时

    前言 我的博客 看了戴铭大神App 启动优化与监控,受益良多。我运用其中的hook objc_msgSend思想,写一个监控App里所有耗时的OC方法,以便以后开发过程中,能...

  • iOS ABI

    前言 我的博客 上篇文章介绍arm64程序调用规则,这篇介绍iOS平台上的特定规则。 iOS ABI 在iOS平台上,基本是遵循上篇文章上的规则。但是也有几个不同规则。 iO...

  • 120
    arm64程序调用规则

    前言 我的博客 这篇主要介绍arm64程序调用规则,详细分析了程序调用过程中,参数是如何传递的。Android、iOS、Linux等基本遵循这些规则,但是各个操作系统平台也有...