美文网首页
IOS 如何排除闪退和内存泄漏问题

IOS 如何排除闪退和内存泄漏问题

作者: 明似水 | 来源:发表于2016-08-26 00:24 被阅读884次

下面来总结一下我是怎样排除闪退问题的。
1-在哪里闪退
首先了解在哪个界面发生了闪退,然后真机测试或者模拟器测试找到对应的界面进行测试!
1.1-闪退能重现则分以下几种情况
1.1.1-数据问题
数据问题有数组越界、处理数据错误、使用数据类型不匹配等等。都是一些比较容易解决的问题,在此就不多说了,想必很多人都懂处理!
1.1.2-内存泄漏
虽然我们现在iOS大部分都是用ARC自动内存管理模式下开发!但是也不排除会出现内存泄漏问题,主要分为以下几点:
(1)在自定义的block块里用self,这样会造成强引用,会使内存泄漏,比如

AAPullToRefresh *ptr=[self.collectionView addPullToRefreshPosition:AAPullToRefreshPositionBottom actionHandler:^(AAPullToRefresh *v){
     //页数+1
     self.pageNumber ++;
     //请求数据
     [self requestPicData];
     }];

可以自定义一个弱引用来出来

#define WEAKSELF typeof(self) __weak weakSelf = self
                (2)重复赋值,这种比较常见,一般也没有注意看到问题所在,下面是我截的几种情况:

![(@2Q1OW%N)F7JL$N~QA3.jpg

8`V9A{Z1)0_G2J1KY_NE)2V.jpg
                      (3)定义delegate的时候用strong,这样也会造成强引用,比如:
@property (nonatomic, strong) id<AddNumViewDelegate>delegate;
                       (4)通知没有在适当时机注销。
                       (5)项目中单列太多。
                1.1.3-布局问题
                           这个问题有点难找,也比较少见,而且难就难在于闪退重现比较难,建议是看项目里用第三方框架布局的时候有没有错。

    2、总结:由于内存泄漏加上项目中代码不规范造成运行内存过大而被苹果内存机制crash掉!下面分享一下我收藏的资料:
                         * [IOS性能调优系列:Analyze静态分析](http://www.cnblogs.com/ym123/p/4309400.html)
                          *[使用Instruments定位iOS应用的Memory Leaks](http://www.jianshu.com/p/c0aa12d91f05)
                          *[iOS内存管理之超级大坑-内存泄漏](http://blog.csdn.net/skylin19840101/article/details/51954648)

本人攻城狮一只:
爱好阅读,有一个写作的美梦,喜欢乒乓球,游泳,旅游,每天过着充实而忙碌的生活!
2016年没啥愿望,存钱还房贷,写50篇读书笔记和技术笔记就好!
喜欢我的文字,就关注我吧,希望能共同进步

相关文章

  • IOS 如何排除闪退和内存泄漏问题

    下面来总结一下我是怎样排除闪退问题的。1-在哪里闪退首先了解在哪个界面发生了闪退,然后真机测试或者模拟器测试找到对...

  • APP闪退的常见原因

    1、出现闪退的常见原因 1、手机本身内存不够。 2、内存泄漏,程序没有及时释放内容。 3、权限问题,也可能导致闪退...

  • iOS内存分析下-前台内存耗尽闪退(FOOM)

    iOS内存分析下-前台内存耗尽闪退(FOOM) iOS内存分析下-前台内存耗尽闪退(FOOM)

  • iOS 程序闪退怎样减少

    在iOS中程序的闪退大多是由于nil指针和内存问题导致的,内存问题现在有了ARC,并且内存问题无法定位,@try是...

  • OC的内存管理机制

    1. 为什么要使用内存管理 iOS应用程序出现crash(闪退), 90%以上的原因是出现了内存问题!内存问题主要...

  • iOS内存泄漏有哪些

    iOS内存溢出和内存泄漏的情况

  • 爆内存

    爆内存 - Memory issue 收集不到的崩溃日志? 做iOS的都知道,爆内存导致的闪退是无法收集的。如何定...

  • iOS 内存泄漏三两事

    iOS 内存泄漏三两事 iOS 内存泄漏三两事

  • 线上问题

    2021.04.09 问题描述 最近用户反馈iOS客户端进入餐厅首页后,过几秒钟后闪退了。 分析解决 原因内存泄漏...

  • iOS 内存泄漏排查方法及原因分析

    本文将从以下两个层面解决iOS内存泄漏问题: 内存泄漏排查方法(工具) 内存泄漏原因分析(解决方案) 在正式开始前...

网友评论

      本文标题:IOS 如何排除闪退和内存泄漏问题

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