zoukankan      html  css  js  c++  java
  • iOS项目内存优化

    在用非ARC模式编写iOS程序的时候,造成程序内存泄露在所难免,后期我们一般会进行内存优化。自己比较常用的内存优化方法有两种

        1、Analyze,静态分析内存泄露的方法。很简单,在Xcode菜单栏中点击 ”Product“ -> "Analyze",编译完成后项目工程中可能造成内存泄露的代码就会被标记出来,这样我们就可以有针对性的更改代码优化内存了。

        2、使用Xcode的自带工具Leaks,动态的检测内存泄露。一般步骤如下。

           1>在Xcode菜单栏中点击 ”Product“ -> "Profile"(如图1-1),弹出instruments窗口如图1-2

       

                                                                                                图1-1

       

                                                                                                  图1-2

            2>在instruments窗口中点击 ”Leaks“(如图1-2),一般Leaks就开始自动检测项目内存泄露的地方了,在此过程中可以对手机上运行的测试工程进行操作,如图1-3,Leaks 后出现的红色 柱形表示有内存泄露。

       

                                                                                                                  图1-3

           3>点击图1-3中用红圈圈起来的Leaks,选择Call Tree选项,然后再选中”Invert Call Tree“和”Hide System Libraries“选项,出现如图1-4的界面,这样我们就看到了是 哪个类中的哪个方法里的代码造成了内存泄露。

       

                                                                                                图1-4

           3>双击如图1-4中出现类名,就会显示出此类此方法中造成内存泄露的代码了如图1-5,然后我们就可以有针对性的优化代码、优化内存了。

       

                                                                                                     图1-5

        在这里使用Leaks时,没有具体介绍Leaks的一些其他设置及技巧,小伙伴们可以自己在使用的过程中试一试.

  • 相关阅读:
    分布式事务:Saga模式
    使用 Go 语言徒手撸一个负载均衡器
    基于agenda的Nodejs定时任务管理框架搭建
    在Node.js中使用ejsexcel输出EXCEL文件
    [译]Node.js框架对比:Express/Koa/Hapi
    基于RSA的WEB前端密码加密方案
    CSS3实现0.5px边框
    前端JS面试题汇总 Part 3 (宿主对象与原生对象/函数调用方式/call与apply/bind/document.write)
    前端JS面试题汇总 Part 2 (null与undefined/闭包/foreach与map/匿名函数/代码组织)
    前端JS面试题汇总 Part 1(事件委托/this关键字/原型链/AMD与CommonJS/自执行函数)
  • 原文地址:https://www.cnblogs.com/Samboo/p/5350346.html
Copyright © 2011-2022 走看看