问题:数组用的[NSArray
arrayWithObjectsAndkeys....]方法创建,下拉后crash。调试:断点调试发现,下拉后数组被清空。解决方案:用alloc的方法创建数组,在dealloc里释放内存,OK。
分类:
其他好文 时间:
2014-05-16 21:31:05
阅读次数:
262
首选,感谢博主shield-hand的一篇文章(ms sql
server缓存清除与内存释放)。写的非常细致、简洁。我这里并不是自己写博客,而是用自己的思维将众多博文或官网资料做一次整合。
在讲解问题发生原因之前,我先贴出来解决方案。之后再详细剖析其深层次的原因。 ms sql server...
分类:
数据库 时间:
2014-05-16 09:21:21
阅读次数:
362
以下摘自内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。内存分配要通过CRT在运行时实现,只要在分配内存和释放内存时分别做好记录,程序结...
分类:
其他好文 时间:
2014-05-16 06:30:44
阅读次数:
203
在非arc的工程中创建NSMutableArray属性的时候需要注意的是:[[NSMutableArrayalloc]initWithCapacity:2];
正常使用[NSMutableArrayarrayWithCapacity:2]; 会自动释放,需要retain。
分类:
其他好文 时间:
2014-05-16 05:38:00
阅读次数:
303
在一个有reurn 返回值的函数里 如果申请了一段内存的话(alloc 或者copy) 这个时候不能够release 只能够使用autorelease
在返回到那个被接受到的指针里,由它去进行释放!!
如果是self.obj(或者某些类对应的 SomeClass.obj)这种类型的,就需要把self.去掉(因为这样子的申请出来的内存引用计数会被retain+1了)
...
分类:
移动开发 时间:
2014-05-15 04:40:44
阅读次数:
369
/*所谓的「阻塞」,是指当一个数据库会话中的事务,正在锁定其他会话事务想要读取或修改的资源,造成这些会话发出的请求进入等待的状态。SQLServer默认会让被阻塞的请求无限期地一直等待,直到原来的事务释放相关的锁,或直到它超时(根据SETLOCK_TIMEOUT)、服务器关闭、进程被..
分类:
数据库 时间:
2014-05-14 16:58:48
阅读次数:
309
/proc/sys/vm/drop_caches(since Linux 2.6.16)Writing
to this file causes the kernel to drop clean caches,dentries and inodes from
memory, causing that ...
分类:
系统相关 时间:
2014-05-14 08:54:16
阅读次数:
331
析构函数是构造函数的互补:当对象超出作用域或动态分配的对象被删除时,将自动调用析构函数。析构函数可用于释放对象时构造或在对象的生命期中所获取的资源。不管类是否定义了自己的析构函数,编译器都自动执行类中非static
数据成员的析构函数。1、析构函数的特点(1)、析构函数没有返回值和参数列表(2)、析...
分类:
编程语言 时间:
2014-05-14 07:11:46
阅读次数:
332
前言:
多线程程序中,特别是频繁申请,释放线程的情况下,就要注意线程的关闭,最好使用线程池。
一,线程退出方式
(1) 执行完成后隐式退出;
(2) 由线程本身显示调用pthread_exit 函数退出;
pthread_exit (void * retval) ;
(3) 被其他线程用pthread_c...
分类:
编程语言 时间:
2014-05-13 16:22:59
阅读次数:
286
众所周知,C++中对堆内存的申请与释放完全由用户来控制,这就造成用户在使用的时候经常造成内存泄漏、野指针、重复释放等常见的挂掉问题,所以我们有必要提供一套机制,使得用户只需申请相应的内存,不用管释放的问题,其实这属于著名的RAII(Resource
Acquisition Is Initialization)
技术 。在C++中这种技术称作“智能指针”,C++中的智能指针技术越来越受到广泛应...
分类:
编程语言 时间:
2014-05-13 11:37:49
阅读次数:
358