美文网首页
如何让程序尽量减少内存泄漏

如何让程序尽量减少内存泄漏

作者: 攻克乃还_ | 来源:发表于2016-08-04 21:29 被阅读43次


1.非ARC

* Foundation对象(OC对象) : 只要方法中包含了alloc\new\copy\mutableCopy\retain等关键字, 那么这些方法产生的对象, 就必须在不再使用的时候调用1次release或者1次autorelease

* CoreFoundation对象(C对象) : 只要函数中包含了create\new\copy\retain等关键字, 那么这些方法产生的对象, 就必须在不再使用的时候调用1次CFRelease或者其他release函数

2.ARC(只自动管理OC对象, 不会自动管理C语言对象)

* CoreFoundation对象(C对象) : 只要函数中包含了create\new\copy\retain等关键字, 那么这些方法产生的对象, 就必须在不再使用的时候调用1次CFRelease或者其他release函数

3.block的注意

// block的内存默认在栈里面(系统自动管理)

void (^test)() = ^{

};

// 如果对block进行了Copy操作, block的内存会迁移到堆里面(需要通过代码管理内存)

Block_copy(test);

// 在不需要使用block的时候, 应该做1次release操作

Block_release(test);

[test release];

相关文章

  • 如何让程序尽量减少内存泄漏

    1.非ARC * Foundation对象(OC对象) : 只要方法中包含了alloc\new\copy\muta...

  • A1_内存泄漏(循环引用)

    一、什么是内存泄漏,在 Obj-C 中如何检测内存泄漏? “内存泄漏(Memory Leak)是指程序中己动态分配...

  • Android 内存优化工具介绍

    一、内存优化介绍 内存问题:内存抖动:锯齿状、GC 导致卡顿内存泄漏:可用内存减少、频繁GC内存溢出:OOM、程序...

  • 二. Android 内存优化

    1. 内存问题: 内存抖动(锯齿状、GC导致卡顿)内存泄漏:可用内存减少、频繁GC内存溢出:OOM、程序异常 2....

  • 内存优化

    1概述 介绍 内存抖动:锯齿状,GC导致卡顿内存泄漏,可用内存减少,频繁GC内存溢出:OOM,程序异常 工具 1M...

  • Javascript中常见的内存泄漏

    内存泄漏:内存泄漏指由于错误或疏忽导致程序未能释放已经不再使用的内存,内存泄漏并非内存在物理上的消失,而是应用程序...

  • leakcanery2源码

    LeakCanary是Android上用于检查内存泄漏的工具,LeakCanary大大减少因内存泄漏导致的内存溢出...

  • 内存优化

    内存问题内存抖动:通过工具可以发现是锯齿状 , 可导致GC频繁,GC频繁会导致程序卡顿。内存泄漏:可用内存减少,导...

  • 内存溢出和内存泄漏

    1.内存泄漏 2.内存溢出 -如何避免内存泄漏、内存溢出?

  • 为何每次用完ThreadLocal都要调用remove()?

    什么是内存泄漏 Key 的泄漏 Value 的泄漏 如何避免内存泄露 什么是内存泄漏 内存泄漏指的是,当某一个对象...

网友评论

      本文标题:如何让程序尽量减少内存泄漏

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