美文网首页
性能优化知识点总结

性能优化知识点总结

作者: IOS_Wek | 来源:发表于2018-07-04 14:21 被阅读6次

一,了解性能优化的点;
1)(main函数执行之前)启动速度测量:Product->schema-editSchema 里面添加一个DYLD_PRINT_STATISTICS 1

2)main 函数执行的实践

12)的优化

减少动态库加载
减少类数量
Main函数不要太多耗时操作

3)循环引用:堆
堆,栈,静态区。
获取引用计数:CFGetRetainCount/ valueForkey retainCount
block weakSelf, StrongSelf 使用场景?
野指针:可以开启僵死对象调试
assign 和 weak 区别,assign修饰的对象回收时不会置空,有可能有野指针情况,weak 则会。
检查内存泄漏的方法:
1,静态检测

  1. 手动开启静态检测:product - analysing
    2)开启自动检测:target- > buildSetting- > analyze during build 设置一下。

2,动态检测instrument, 第三方内存检测工具(MleaksFinder:只检测试图)

3,打印析构

ARC。CG类,c方法, CF类手动释放

4)内存检测的原理
Method Swizzling 方法交换

@seletor(test:) 下面两个方法是不能共存的。

  • (void)test:(BOOL )b;
    -(void)test:(NSString *)a;

下面这两个就可以,因为存在不同的地方。

  • (void)test:(BOOL )b; 类对象
    +(void)test:(NSString *)a; 元类对象

如何写一个工具:
目标:检测试图控制器是否内存泄漏
思路:我们在控制器弹出消失的时候,监听对象是否还活着

知识点:
load:不会覆盖,各个类都有自己的load方法
initialize: 懒加载的时候调用,类触发的时候

所以方法交换应该在load 方法里面。可以查看自己的代码。LeakCheckingDemo!!!!!

二,如何应用到我的实践中;

LeakCheckingDemo
思路:在控制器pop出去的时候,设置一个值pop为YES,然后在viewdidappear的时候取出这个值,如果为YES(pop过了)那么就延迟去检查self 是否为空,不为空就调用去打印

相关文章

  • iOS 性能优化总结

    iOS 性能优化总结 iOS 性能优化总结

  • IOS的性能优化包括哪几点

    iOS性能优化总结 iOS性能优化总结。关于 iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • App瘦身、性能优化总结

    App瘦身、性能优化总结 App瘦身、性能优化总结

  • Awesome Extra

    性能优化 性能优化模式 常见性能优化策略的总结 Spark 性能优化指南——基础篇 Spark 性能优化指南——高...

  • 性能知识点一

    性能优化之前总结了雅虎军规,但是还有很多新的或者是细节的性能优化很多人或许听都没听过,这边分享一些知识点,有些知识...

  • iOS必读 - 收藏集 - 掘金

    iOS 性能优化总结 - iOS - 掘金关于iOS 性能优化梳理: 基本工具、业务优化、内存优化、卡顿优化、布局...

  • Android 性能优化

    Android APP性能优化(最新总结)Android性能优化全方面解析Android性能优化的方方面面http...

  • 17.MySQL优化

    《高性能MySQL》——这本书都有的 “字段”优化总结 “索引”优化总结 索引的优化 “查询SQL”优化总结 “引...

  • Android App内存优化简单说明

    说明 本文是学习内存优化时个人的总结,由于本人是刚开始接触Android的性能优化方面的知识,肯定有很多知识点上的...

  • 性能优化知识点总结

    一,了解性能优化的点;1)(main函数执行之前)启动速度测量:Product->schema-editSchem...

网友评论

      本文标题:性能优化知识点总结

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