美文网首页
App几个可能造成内存泄漏的情况:

App几个可能造成内存泄漏的情况:

作者: 小小鸟他大爷 | 来源:发表于2021-02-03 16:18 被阅读0次

App几个可能造成内存泄漏的情况:

1.block块中直接用self调用,self将会被block copy到内部增加一次饮用计数,形成循环引用

在block里调用self会不会造成循环引用和这个block是否被这个单例所持有有关

2.delegate声明为strong会造成循环引用,delegate也不能用assign来声明,因为assign可能会造成野指针,应该用weak声明,工程中可能有人习惯用superVC,parentVC等方式来实现delegate类似的功能,这时候要尤其注意

3.有的时候创建一个view会加到windows上,但是最后为了下次不用创建就能使用,所以只将alpha设为0或hidden为YES,没有从windows上移除,这时候就造成了内存泄漏,甚至有的下次没有重用之前创建的view,重复创建,造成view越来越多,泄漏越来越大

4.可能有的数据放到了单例中保存,但是没有指定在何种情况下清空保存在单例中的数据,这时候也会造成泄漏

5.NSTimer会强引用self,所以用完之后要调用

相关文章

  • App几个可能造成内存泄漏的情况:

    App几个可能造成内存泄漏的情况: 1.block块中直接用self调用,self将会被block copy到内部...

  • 内存泄漏

    内存问题的可能情况 内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏...

  • 常见的内存泄漏(转载)

    一、静态变量持有 二、单例模式造成 三、非静态内部类创建静态实例可能造成的内存泄漏 四、webview造成内存泄漏...

  • 内存泄漏是什么??

    什么是内存泄漏(memory leak)? 指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非...

  • Android内存泄漏相关

    问题1 内存泄漏的基本定义是什么?内存泄漏有什么危害?问题2 开发中常见的内存泄漏的情况有哪些?什么原因造成的?怎...

  • Android - Handler导致的内存泄漏

    内存泄漏:没有用的对象,无法被GC垃圾回收,就会造成内存泄漏(OOM) Handler如果使用不当,极大可能造成内...

  • 面试题-第一期

    内存泄漏&&内存溢出 参考博客参考博客 先来看看内存泄漏,内存溢出,OOM,GC回收这几个概念。把App的堆内存空...

  • Handle使用中就没什么需要注意的吗?

    Handler 如果设置为私有变量的话,Android Studio 会报警告,提示可能会造成内存泄漏,这种情况可...

  • 使用Android Monitor分析项目查找内存泄漏

    前言:在开发项目的过程中 或多或少都有些地方不注意造成内存泄漏导致App卡顿的情况发生 Android Studi...

  • 深入JVM-有关String的内存泄漏

    什么是内存泄漏?所谓内存泄漏,就是由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,他并不是说物理内存消失了...

网友评论

      本文标题:App几个可能造成内存泄漏的情况:

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