【iOS开发-116】内存测试管理和优化:Analyze和Profile,以及iOS开发常用工具simPholders、fabric

(1)关于Analyze和Profile的使用和介绍

——使用,长按左上角的Run,会出现Analyze和Profile两个选项。Analyze是静态内存分析,如果有潜在的内容泄露问题会出现蓝色的标记。Profile是动态内存分析,这个比较详细一点,可以看到程序的每个模块占用多少内存等等。

推荐的博客:

IPhone开发工具篇-利用xcode profile和analyze进行性能优化

备注:自从有了ARC,内存泄露问题大大减少了,但不代表没有。对内存有疑问或者对于老项目从非ARC转ARC有困难的可参考:

iOS内存管理策略和实践

手动内存管理转ARC项目实战

(2)iOS开发常用工具

SimPholders,在状态栏中又快捷键,可快速打开文件路径的工具,包括沙盒之类的。

Crashlytics:收集用户在使用过程中程序崩溃的报告并反馈给开发者,为程序员准备的。先要在官网申请,具体步骤:http://tech.ddvip.com/2013-07/1375034417199825.htmliOS开发工具——统计Crash的工具Crashlytics,下载的时frbric,crashlytics是其中一个功能模块,选择项目后初始化SDK时会出现问题,关闭Xcode多试验几次便可。

HockeyAPP,被微软收购了,功能与crashlytics差不多,安装也人性化的方便,可以代替crashlytics。

TestFlight,被苹果收购,主要用户发布前的内测,但貌似只支持iOS8的什么的。这一方面国内的fir和蒲公英也是做内测的。

github:团队协作,版本控制必备,mac的点击这里,window的点击这里。github是一个很好地查找框架和找灵感的地方。

——使用桌面端,好处是以后在github上不直接下载,而是clone in desktop,这样以后点击更新按钮,框架有什么更新都会在桌面端看到。

——使用桌面端,还有一个好处是上传自己的仓库,当然,用网页版同样可以上传。

关于github的readme.md的格式参考Github上README.md介绍

主要是“在文字下面增加==========就是大标题文字”、“在文字下面增加------------------就是中标题文字”、“在文字前面增加###就是小标题文字”、“在文字前面增加2个tab就是代码样式”、“在文字前面增加*或者>等是项目符号或者引用包括服务等”。

更多工具可参考:

iOS开发者不可少得75个工具

七款Debug工具推荐:iOS开发必备的调试利器

时间: 2024-10-12 16:57:01

【iOS开发-116】内存测试管理和优化:Analyze和Profile,以及iOS开发常用工具simPholders、fabric的相关文章

华为软件开发云测评报告三:测试管理

往期文章: 华为软件开发云测评报告一:项目管理 华为软件开发云测评报告二:代码检查 体验环境 体验方式:PC端 系统:Windows 64位 浏览器类型:Chrome浏览器 浏览器版本:58.0.3029.110 体验时间:2017.07.06 分析目的 了解华为软件开发云的测试管理服务功能,分析其优缺点: 自动化测试工具未来的发展趋势: 产品简介 产品名称:华为软件开发云 定位:华为软件开发云(DevCloud)是集华为研发实践.前沿研发理念.先进研发工具为一体的研发云平台,面向开发者提供研发

IOS AppStore上线前测试

IOS  AppStore上线前测试 TestFlight Beta https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide_zh_CN/Chapters/BetaTestingTheApp.html#//apple_ref/doc/uid/TP40016325-CH35-SW2 如果是新 App,则为其创建 iTunes Connect 记录.

开发人员与测试人员的那些事

关于开发人员和测试人员的关系,人们阐述了很多,讨论了很多,争论了很多.而貌似一旦这两者坐在一起,对峙便开始了,两者间的争论多于相互认同.显然,这不利于实现两者合作的目标——向用户提供价值.(推荐学习零基础学习软件测试基础篇) 下面我们来分析一下其中的原因: 史前时期 在最开始,不存在测试人员, 只有开发人员.软件开发人员和软件项目的其他人员比起来并没有特别大的不同.从经济角度考虑,专门成立测试人员是行不通的:开发软件的时间如此昂贵,为测试人员分配时间显得很浪费. 没有专门人员检查工作,软件开发人

移动端WEB开发真机测试

关于移动端WEB开发真机测试亲身实验的一些体会. 之前的开发都用Chrom的模拟,但是效果毕竟不如真机,总结几点吧,至于详细的安装过程网上都有教程http://www.cnblogs.com/xiaohuochai/p/5512051.html,这里就不在赘述. BrowserSync是基于Node.js的,是一个Node模块,所以需要先安装nodejs(之后都在它之上进行的(*^__^*) 嘻嘻……) BrowserSync能让PC.各移动设备上的页面同时实时地响应文件的更改,而不用刷新操作~

[转载]对iOS开发中内存管理的一点总结与理解

对iOS开发中内存管理的一点总结与理解 做iOS开发也已经有两年的时间,觉得有必要沉下心去整理一些东西了,特别是一些基础的东西,虽然现在有ARC这种东西,但是我一直也没有去用过,个人觉得对内存操作的理解是衡量一个程序员成熟与否的一个标准.好了,闲话不说,下面进入正题. 众所周知,ObjectiveC的内存管理引用的一种叫做“引用计数“ (Reference Count)的操作方式,简单的理解就是系统为每一个创建出来的对象,(这里要注意,只是对象,NSObject的子类,基本类型没有‘引用计数’)

Unity3D 游戏开发之内存优化

项目的性能优化主要围绕CPU.GPU和内存三大方面进行. 无论是游戏还是VR应用,内存管理都是其研发阶段的重中之重. 然而,在我们测评过的大量项目中,90%以上的项目都存在不同程度的内存使用问题.就目前基于Unity引擎开发的移动游戏和移动VR游戏而言,内存的开销无外乎以下三大部分:1.资源内存占用:2.引擎模块自身内存占用:3.托管堆内存占用. 如果您的项目存在内存问题,一定逃不出以上三种情况.今天,我们就这三种情况逐一进行解释. 资源内存占用 在一个较为复杂的大中型项目中,资源的内存占用往往

Objective-C高级编程:iOS多线程及内存管理(第一章翻译)

写在翻译之前:当初看到这本书的时候,感觉深入浅出讲得比较到位,但是在市面上看到的翻译版本翻译的却没有原著的精髓和味道.所以产生了自己将其翻译一下给初学者一些便利的想法.所以才有了这个系列的第一章的翻译.目前剩余的部分依然在翻译过程中,估计不久之后就可以陆续地发出了. 因为本人的水平或者用词问题,本翻译难免有不周详或不正确之处.如果有人看到还望指出,我一定会尽力地修改那些不正确的部分,让更多的人可以看到更优质的资料. Chapter 1 Life before Automatic Referenc

Android 内存溢出管理与测试

今天发现正在做的项目,时不时的会报错:dalvikvm heap out of memory on a 7458832-byte allocation (堆分配的内存溢出) 为什么会内存溢出呢?我以前从未遇见这种情况.后来在网上查了查资料,还是挺多的. 怎么说呢?因为Android开发基本上是以java语言为基础,那么程序是在java虚拟机上运行的.而虚拟机不允许单个程序中的Bitmap占用超过8M的内存,从报错的日志可以看出:7458832-byte大约就是7M多的样子,基本吻合上述数据.在我

浅谈C++容器动态内存管理的优化

在信息学竞赛中,C++的容器的用途非常广泛,但经常因常数过大而超时.怎样才能提高它们的效率呢? 我们知道,容器是存储同一类对象的对象,既然"对象"我们无法改变,那么我们只能从"存储"入手,不难想到,不同容器在实现上的根本区别是它们对应着不同的内存组织方式,内存管理无疑是这种实现的核心,所以优化内存管理是加快容器效率的最好途径之一. 一.内存分配器简介 怎样才能优化内存管理呢?很简单,C++为我们提供了这样的接口,我们可以通过自定义容器模板中的最后一个allocato