在使用Android Handler的时候,可能会遇到编译器给我们这样的警告:
This Handler class should be static or leaks might occur
造成这个警告的原因是handler持有外层类(Activity等)的引用,同时消息队列中的Message对handler也持有引用,这样就造成一些资源不能回,从而可能造成内存...
分类:
移动开发 时间:
2015-06-28 12:47:10
阅读次数:
151
vector的复制是浅复制,所以复制一个包含动态内存的变量的对象的话就会出问题.解决办法:自己写类的复制构造函数,为新对象的指针开辟新的内存空间。但当vector离开作用域之后,只会把其成员所占的内存删除(即指针),而不会删除指针指向的内存,就会出现内存泄露。解决办法:使用智能指针。 1 #incl...
分类:
其他好文 时间:
2015-06-28 00:02:42
阅读次数:
123
1. “C++ 只会析构已完成的对象”,“面对未完成的对象,C++ 拒绝调用其析构函数”,因为对于一个尚未构造完成的对象,构造函数不知道对象已经被构造到何种程度,也就无法析构。当然,并非不能采取某种机制使对象的数据成员附带某种指示,“指示constructor进行到何种程度,那么destructor...
分类:
编程语言 时间:
2015-06-26 21:00:28
阅读次数:
188
今天运行一个程序,程序刚启动时占用内存很小,在运行过程中发现占用的内存会一直增大。用cat /proc/pid/statm的方式查看发现也确实在一直增大。而且这个程序移植到另外一个平台后,会直接无法运行。——————————————————————————————————————————我不明白为什...
分类:
编程语言 时间:
2015-06-26 17:58:00
阅读次数:
131
一、Java堆溢出
内存溢出和内存泄露
内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。
内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用
package com.weixuan.outofmemory;
imp...
分类:
其他好文 时间:
2015-06-26 09:17:51
阅读次数:
137
要求你熟悉stl,言下之意就是要你熟悉stl的内部实现。vector的clear动作并不回收内存,有点像内存泄露但又不是内存泄露,因为下次装入元素不用分配内存,直接使用这些预分配内存,clear并不改变vector的capacity。vector内的元素如果是对象型会在clear时调用对应的析构.....
分类:
其他好文 时间:
2015-06-25 20:57:54
阅读次数:
112
在资源管理类中提供对原始资源的访问前面两节都在讨论如何管理资源,一般情况下,使用资源管理类来屏蔽原始资源,对抗内存泄露等问题,避免使用原始资源。这样我们就无法直接访问原本的原始资源。毕竟程序在有些时候是需要操纵原始资源的,许多APIs要求使用原始资源。为了能操纵原始资源,我们要怎么做?
还好,shared_ptr和auto_ptr都提供一个get函数,用于执行这样的显示转换。这时如果在调用API时...
分类:
编程语言 时间:
2015-06-24 12:59:20
阅读次数:
125
在iOS的开发过程中,使用块的地方很多也很方便,但是在使用块的过程中要注意内存泄露的问题。 在块创建的时候,会对块内的所有对象的引用计数加一,直到块销毁,所以在使用块的过程中需要我们进行处理,在这里以AFNetworking的代码举例,代码如下: __weak __typeof(self)w...
分类:
其他好文 时间:
2015-06-23 19:53:29
阅读次数:
87
retainCount//dealloc方法,是对象的临终遗言的方法//对象被销毁的时候,会默认的调用该方法//注意:dealloc 方法是系统根据引用计数器的值,自动调用的,野指针内存泄露@property参数@class 使用循环retain解决方法自动释放池@autoreleasepool
分类:
移动开发 时间:
2015-06-23 14:58:56
阅读次数:
178
在C++中也是少不了对内存的管理,在C++中只要有new的地方,在写代码的时候都要想着delete。 new分配的时堆内存,在函数结束的时候不会自动释放,如果不delete我分配的堆内存,则会造成内存泄露。所以我们要学会内存管理,不要内存泄露。在C++中的内存管理机制和OC中的还不太一样,在...
分类:
编程语言 时间:
2015-06-22 20:42:21
阅读次数:
165