• apm 应用性能管理(启动优化/ 掉帧卡顿/ 耗电/ 内存泄漏等)


    APM

    首先查看各个阶段耗时 : (环境变量设置 dyldPRINTSTATISTICS = 1选项,)

     

    1. 启动优化

     

    关键: 找到耗时的原因
     t总 = t1 (premain) + t1(main之后)
     t1:   premain
     过程:
      1.先加载可执行文件(所有.o文件的集合)
      2.加载动态链接库(所有系统的framework, 比如UIKit、Foundation等都是以动态链接库    的方式集成进App中的)
      tip: 动态库好处:  a.在内存中只有一份, 所有进程共享系统库 
          b.相比静态库, 编译时不需要打进去
      3. oc类的加载/初始化 +load 方法
     优化:
      1.减少不不要的framework
      2. framework应当设为optional和required (支持的所有iOS系统版本)
      3.合并或删减一个oc类, 清理没用的类, 使用Appcode检查
      4删减无用的静态变量 
      5删减无用的废弃的方法
      6不必要在+load方法中做的事 延迟到+initialize中
    
     t2: main() 之后 
     过程:
      1.初始化相关服务(三方库等)
      2.显示首页(优化也是围绕着如何快速展现首页来做)
     优化:
      1. 代码方式加载首页视图, 不用xib
      2. 异步:启动时的网络请求 
      3.异步: 初始化第三方服务

     

     

    2.卡顿优化

     

    一.卡顿检测
    1.最直观的是FPS的掉帧情况
    2.timeProfile动态检测耗时方法
    3.开发工具,动态线上检测主线程的卡顿情况 二.优化
    CPU
    1.异步处理耗时操作,(网络耗时,计算耗时),也要同时控制最大并发数
    2.接口的缓存处理,(同图片缓存原理,先显示缓存,后展示网络数据)
    3.image的size= imageView的大小
    4.tableView的相关优化    
    5.layer替代相关无事件的UIView


    GPU
    1.减少图层混合& 离屏渲染
    2.设置不透明度opaque=YES

     

     

     

     

      3.耗电/耗网络

     2.1 Energ Impact 查看概况
     2.2细致验证 instrument - energy log  (+配合timeProfile 抓看代码运行细节)
    
     优化: 
      a.cpu优化, 尽可能将次cpu功耗, 尽可能减少定时器的使用
      b.网络请求优化 ,减少长连接等
      c.定位优化   - 及时关闭
      d.硬件检测优化  - 加速计 陀螺仪等吗, 及时关闭

     

    4. 内存泄漏 

    一.检测
    Analyze c函数的释放 Leaks Acllocations 需要动态运行去观察 第三方的MLeakFinder pop或者dismiss 3秒后调用willDealloc看时候会中断言
    二.优化
    1.注意循环引用,delegate, block, timer
    2.for循环产生大量的对象,通过加autoReleasePool 及时释放

     

    5.包体积的优化

     

    一.可执行文件
    1.编译器的优化,选项的设置
    2.静态库的二次打包
    3.去除无用的类文件
    二.资源 1.图片/音视频资源的无数压缩, 去除无用的资源

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    一次完整的HTTP事务的过程
    移动端事件
    canvas 在视频中的用法
    理解Vue
    改变console.log的输出样式
    百度下拉搜索案例
    Vue总结
    字符串、正则
    .Net Mvc框架知识点
    Lowest Common Ancestor of a Binary Tree -- LeetCode
  • 原文地址:https://www.cnblogs.com/daxueshan/p/11898266.html
Copyright © 2020-2023  润新知