iOS Message from debugger: Terminated due to memory issue ~解决方法

          联系人:石虎 QQ:1224614774  昵称: 嗡嘛呢叭咪哄

                               QQ群:807236138  群称: iOS 技术交流学习群
 

一、概念:

   /**

     1.内存管理概念

     2.查看其他技术分享结论

     3.产生崩溃原因

     4.解决方法以及思路

     */

内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。

引用计数分为两种:

        * 手动引用计数(MRC)

        * 自动引用计数(ARC)

内存管理的思考方式:

       * 自己生成的对象,自己持有

       * 非自己生成的对象,自己也能持有

       * 不再需要自己持有对象时释放

       * 非自己持有的对象无法释放

二、查看其他分享结论

        1.是因为第三方库不是最新引起的,更新第三方会解决问题,

           *相反如果更新第三方后不是崩溃呢?

         2.是加载图片的时候 图片过大 再次就是一次加载多张图片的时候 还有就是gif图,一是内存没有及时释放导致

         3.等….

三、产生崩溃原因

        总结: 无论是第三方还是自己写功能都是是内存吃紧,达到峰值,崩溃

四、解决方法以及思路

         因每个程序员写的代码功能和风格不一样,

         查看自己代码或者项目中关联的代码是否有循环引用的地方,这是最根本的解决方法

       辅助工具:

                   xcode自带工具调试 instruments 查看内存使用情况 (教程网上很多)

⚠️注意:一定要有耐心的检测会造成循环引用的地方(经验)

谢谢!!!

猜你喜欢

转载自blog.csdn.net/shihuboke/article/details/81533752