错误原因:
exc_bad_access(code=1, address=0x789870)野指针错误,主要的原因是,当某个对象被完全释放,也就是retainCount,引用计数为0后。再去通过该对象去调用其它的方法就会出现野指针错误。
例如:
Person *jerry = [[Person alloc]init]; // retainCount引用计数为1
[jerry eat];...
分类:
移动开发 时间:
2014-07-22 23:05:16
阅读次数:
372
NULL在C语言中是=0,在C语言中,如果指针的地址指向0就不会有危险nil是OC的,是一个空对象,发送消息不会出问题。但是当这个对象release之后,你再使用它的地址就会出现各种恐惧的事情,所以一般在一个对象释放之后会加一句代码,xxx
= nil;使它的指针地址为0, 称为安全释放。
分类:
其他好文 时间:
2014-07-22 23:01:13
阅读次数:
233
利用二叉树实现的排序。将源文件中的数据以中序由小到大的顺序构建二叉树,再写入到另一个文件中(顺便释放为二叉树分配的空间)。这里使用了非递归的算法实现。
分类:
编程语言 时间:
2014-05-06 00:19:39
阅读次数:
353
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数...
分类:
编程语言 时间:
2014-05-05 23:23:31
阅读次数:
499
原帖及讨论:http://bbs.bccn.net/thread-211413-1-1.html效果描述:鼠标点击并拖动某一结点可以把它以动到其他结点下。原理:把一个结点机器下面的所有结点在需要释放的位置拷贝,释放后再把原来位置的结点删掉,结点拖动主要用到三个系统消息。1.OnBeginDrag:选...
分类:
其他好文 时间:
2014-05-02 09:47:39
阅读次数:
394
JVM的GC概述GC即垃圾回收,是指jvm用于释放那些不再使用的对象所占用的内存。在充分理解了垃圾收集算法和执行过程后,才能有效的优化它的性能。有些垃圾收集专用于特殊的应用程序。比如,实时应用程序主要是为了避免垃圾收集中断,而大多数OLTP应用程序则注重整体效率。垃圾收集的目的在于清除不再使用的对象...
分类:
其他好文 时间:
2014-05-01 22:39:20
阅读次数:
559
当前进程消亡时主要做了三件大事:释放当前进程占用的资源;为当前进程的子进程重新寻找“养父”;通知当前进程的父进程,释放当前进程剩下的资源。...
分类:
系统相关 时间:
2014-05-01 22:09:35
阅读次数:
607
1.try: command except 错误类型,记录错误信息变量: command
finally: command
try...finally的用处是无论是否发生异常都要确保资源释放代码的执行。一般来说,如果没有发生错误,执行过try语句块之后执行finally语句块,完成整个流程。...
分类:
编程语言 时间:
2014-05-01 20:27:21
阅读次数:
460
所有注释放在代码中...(图片的加入使用硬代码)package
com.sxt.jtime;import java.awt.BorderLayout;public class Itimer_test extends
JFrame { private JPanel contentPane; ...
分类:
编程语言 时间:
2014-05-01 04:01:01
阅读次数:
546
最近由于公司需要,做了一个手电筒,其实手电筒原理很简单,就是调用照相机的闪光灯,控制闪光灯的开关,就可以实现手电筒的效果,
强调一下,代码中一定要注意在结束的时候对闪光灯进行释放,否则就会导致使用照相机的时候出现——无法连接到相机
这个问题
手电筒APK下载地址:点击打开下载链接
手电筒项目源码下载:点击打开下载链接
主要代码如下:
package com.techainsh.fla...
分类:
移动开发 时间:
2014-04-29 13:37:22
阅读次数:
473