本文内容出自《高质量C、C++编程指南》。阅读之后理解,然后通过自己的话和例子讲清楚,这样才是学习之道。以下内容都是自己所认为的东西,如果哪里错了,希望各位大神指出。
1、数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
2、指针参数是如何传递内存的
3、使用指针参数传递内存...
分类:
编程语言 时间:
2015-06-14 18:37:11
阅读次数:
143
什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用...
分类:
移动开发 时间:
2015-06-11 12:57:36
阅读次数:
142
在使用Handler更新UI的时候,我是这样写的:public class SampleActivity extends Activity {private final Handler mLeakyHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO...
分类:
其他好文 时间:
2015-06-10 17:21:14
阅读次数:
123
Handler 内部类持有 外部类Activity的引用,如果Activity退出而Handler还有延迟处理的消息没有处理完,会导致Activity不能回收,反复如此会导致内存泄露。
解决方案:声明Handler为static并持有Activity的弱引用。
public class MainActivity extends Activity {
private static fi...
分类:
移动开发 时间:
2015-06-10 14:11:30
阅读次数:
185
所谓内存泄露,其实就是对象在该被回收的时候并没有被正确回收,内存里游走着这些野指针。所以理解这几种引用方式很重要,借大神的博客一用。转载:http://blog.csdn.net/mazhimazh/article/details/19752475引用类型被垃圾回收时间 用途 生存时间强引用从来不会...
分类:
编程语言 时间:
2015-06-09 19:48:59
阅读次数:
139
内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束,由于浏览器垃圾回收方法有bug,会产生内存泄露,下面与大家详细探讨下内存泄露的几种情况内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。在C++中,因为是手动管理内存,内存泄露是经常出现的事情。而现在流行的...
分类:
Web程序 时间:
2015-06-09 19:23:43
阅读次数:
117
C++ 智能指针众所周知,C++和Java的最大的不同在于C++中有一个非常重要的工具——指针。成也萧何败萧何,指针的高效性和灵活性,同时也造成了C++的繁复而不易于管理。指针的管理一旦出现问题,轻则内存泄露,重则系统崩溃。为了应对指针所引起的内存泄露问题,在C++中一些所谓的智能指针异军突起。一、...
分类:
编程语言 时间:
2015-06-09 16:55:21
阅读次数:
155
常见内存泄露原因Context对象泄漏1、如果一个类持有Context对象的强引用,就需要检查其生存周期是否比Context对象更长。否则就可能发生Context泄漏。2、View持有其创建所在Context对象的引用,如果将View对象传递给其它生存周期比View所在Context更长的强引用,就...
分类:
移动开发 时间:
2015-06-09 15:35:47
阅读次数:
149
1、析构函数形式:~类名(){}无参数,无返回值,故不能被重载,只能有一个2、作用:释放类对象占用的资源(不能释放动态分配的资源 如用 new 申请的资源)当一个变量超出自己的作用域时占用的资源会被释放,同样,动态分配的资源在此时是不被释放的必须手动的释放,否则会造成内存泄露如:string *p ...
分类:
编程语言 时间:
2015-06-09 13:35:58
阅读次数:
103
1 public class TestOutOfBound { 2 public static void main(String[] args) { 3 4 System.out.println(Integer.MAX_VALUE-(-Integer.MAX_VALUE)); //内存溢出 ...
分类:
其他好文 时间:
2015-06-08 21:18:06
阅读次数:
266