上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 虽然iOS 5.0版本之后加入了ARC机制,但由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准备好的内存泄露的Demo吧:leak app下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷。试着选择里面的几行,应该是选第二行的时候就崩溃了。崩溃截图:在崩溃的地方断住了,知道crash的地方了,但是不知道具体crash的原 阅读全文
posted @ 2012-12-04 12:26 OYK 阅读(382) 评论(0) 推荐(0) 编辑
摘要: MacVim下载安装DownloadMacVim 7.3 (snapshot 64) for Mac OS X Lion. (Released Jan 2, 2012.)下载后得到MacVim-snapshot-64.tbz这个包里面有三个文件(MacVim、mvim、reader.txt)把MacVim.app放到你的应用程序也就是/Applications目录下PS:必须放到应用程序目录下,否则终端调用:mvim会找不到MacVim的可执行文件把mvim拷贝到/usr/bin/这个目录下$sudo cp -f mvim /usr/bin/终端就可以通过$ mvim 文件名来启动MacVim 阅读全文
posted @ 2012-12-04 01:43 OYK 阅读(32193) 评论(0) 推荐(1) 编辑
摘要: 基本思路是:对每一条曲线的首末点虚连一条直线,求所有点与直线的距离,并找出最大距离值dmax,用dmax与限差D相比:若dmax<D,这条曲线上的中间点全部舍去;若dmax≥D,保留dmax对应的坐标点,并以该点为界,把曲线分为两部分,对这两部分重复使用该方法。/// <summary>/// Uses the Douglas Peucker algorithm to reduce the number of points./// </summary>/// <param name="Points">The points.</par 阅读全文
posted @ 2012-12-03 11:22 OYK 阅读(759) 评论(0) 推荐(0) 编辑
摘要: BitmapFactory.decodeResource和BitmapFactory.decodeStream,相信对于有过android app开发经验的人来说都是很熟悉了。关于Bitmap的OOM问题,网上也有很多文章进行了分析,不少文章都说为避免OOM,最好使用BitmapFactory.decodeStream,但是具体说明原因的我至今没有找到,所以趁着10.1期间有空,就调查了一番,希望结果对大家能有帮助。 先来张时序图,看了这张图,估计很多问题都不用说明了:下面做些说明:1,函数externalBytesAvailable(...)的内存计算方法详细请参见文章《Android .. 阅读全文
posted @ 2012-12-03 01:04 OYK 阅读(1906) 评论(0) 推荐(0) 编辑
摘要: 在编写Android程序的时候,我们总是难免会碰到OOM的错误,那么这个错误究竟是怎么来的呢?我们先来看一下这段异常信息:08-14 05:15:04.764: ERROR/dalvikvm-heap(264): 3528000-byte external allocation too large for this process.08-14 05:15:04.764: ERROR/(264): VM won’t let us allocate 3528000 bytes08-14 05:15:04.764: DEBUG/skia(264): — decoder->decode retu 阅读全文
posted @ 2012-12-03 00:11 OYK 阅读(889) 评论(0) 推荐(0) 编辑
摘要: XCode 内置GDB,我们可以在命令行中使用GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。比如:上图中,我使用 po 命令显示一个 NSDictionary 的内容。注意在左侧我们可以看到 dict 的一些信息:3 key/value pairs,显示该 dict 包含的数据量,而展开的信息显示 isa 层次体系(即class 和 metaclass结构关系)。我们可以右击左侧的 dict,选中“Print Description of & 阅读全文
posted @ 2012-11-29 18:26 OYK 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 1、 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 、反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2] double atan2 (double, double); 反正切(整圆值), 结果介于[-PI, PI] 3 、双曲三角函数 double... 阅读全文
posted @ 2012-11-29 16:52 OYK 阅读(495) 评论(0) 推荐(1) 编辑
摘要: 概念 Observer模式定义对象间的一对多的依赖关系,当一个对象(被观察者)的状态发生改变时, 所有依赖于它的对象(观察者)都得到通知并被自动更新。JDK里提供的observer设计模式的实现由java.util.Observable类和 java.util.Observer接口组成。从名字上可以清楚的看出两者在Observer 设计模式中分别扮演的角色:Observer是观察者角色,Observable是被观察目标(subject)角色。相关类介绍1.Obervable类此类表示模型视图范例中的 observable 对象,继承它的类表示应用程序想要观察的对象。一个 observable 阅读全文
posted @ 2012-11-25 02:06 OYK 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。判断对象类型-(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例-(BOOL) isMemberOfClass: classObj 判断是否是这个类的实例ps:本篇新建的类主要用于熟悉本篇内容设计,未考虑内存管理因素。我们试试这两个方法的使用。1、新建Person类继承NSObject,新建Teacher类继承Person1.1、新建Person类[cpp]view plaincopy#import<Foundation/Foundation.h>@interfacePer 阅读全文
posted @ 2012-11-20 17:49 OYK 阅读(871) 评论(0) 推荐(0) 编辑
摘要: 1、瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。2、迭代式开发也被称作迭代增量式开发或迭代进化式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一 阅读全文
posted @ 2012-10-08 00:53 OYK 阅读(60191) 评论(4) 推荐(11) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页