其实吧,内存泄露一直是个令人头疼的问题,在带有GC的语言中这个情况得到了很大的好转,但是仍然可能会有问题。一、什么是内存泄露(memory leak)?内存泄露不是指内存坏了,也不是指内存没插稳漏出来了,简单来说,内存泄露就是在你期待的时间内你程序所占用的内存没有按照你想象中的那样被释放。因此什么是...
分类:
Web程序 时间:
2015-05-18 10:40:29
阅读次数:
170
JavaScript事件代理是一种简单的技巧,通过它你可以把事件处理器添加到一个父级元素上,这样就不需要为每一个元素添加或者删除事件处理器,从而避免了内存泄露或者是遍历节点造成的性能下降。如果整个页面都采用同样事件流方式,当红色蓝色区域触发相同事件,冒泡法:先处理蓝色区域请求,捕获法:先处理红色区域...
分类:
编程语言 时间:
2015-05-16 23:07:17
阅读次数:
348
内存四区:1.全局区 :常量和全局变量,操作系统管理 -- 常量 + 静态变量 2.代码区 :不可见 3.堆区 : 手工分配(开辟)内存,要是不free的话,这部分内存将被永远保留(关机之前),这就是内存泄露 4.栈区 : 程序局部变量、临时变量,以一个函数为单位 -- 变...
分类:
其他好文 时间:
2015-05-16 20:06:40
阅读次数:
115
堆溢出堆(Heap)是Java存放对象实例的地方。堆溢出可以分为以下两种情况,这两种情况都会抛出OutOfMemoryError:java heap space异常:1、内存泄漏内存泄漏是指对象实例在新建和使用完毕后,仍然被引用,没能被垃圾回收释放,一直积累,直到没有剩余内存可用。如果内存泄露,我们...
分类:
编程语言 时间:
2015-05-16 14:44:02
阅读次数:
167
OS5之后苹果公司引入了ARC机制,大大方便了ios开发者对内存的管理机制。在iphone 4出世的时候为什么ios在512M的内存中可以运行很大的游戏,保持畅快流畅的状态。得益于ios非常好的内存处理机制。...
分类:
移动开发 时间:
2015-05-15 13:48:42
阅读次数:
238
Android 开源界最伟(jian)大(zhi)高(kai)效(gua)的公司Square又向业界投下一颗重磅炸弹。推出了一个叫LeakCanary的玩意儿,可以通过简单粗暴的方式来让开发者获取自己应用的内存泄露情况。而且得益于gradle强大的可配置性,可以确保只在编译 debug 版本时才.....
分类:
其他好文 时间:
2015-05-15 13:37:19
阅读次数:
126
package cc.cc;
import java.lang.ref.WeakReference;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
/**
* Demo描述:
* Handler可能导致的内存泄露及其优化...
分类:
其他好文 时间:
2015-05-13 19:49:35
阅读次数:
96
package cc.cc;
import android.os.Bundle;
import android.app.Activity;
/**
* Demo描述:
* 非静态内部类可能导致的内存泄露及其优化
*
* 在MainActivity中定义了两个内部类InnerClassTest和ThreadSubClass.
* 在这里需要注意一个问题:
* 内部类持有外部类的引用...
分类:
其他好文 时间:
2015-05-13 19:46:52
阅读次数:
133
世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。 Java的优点: (1)依次编写,多处运行 (2)提供了相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针...
分类:
编程语言 时间:
2015-05-12 13:50:11
阅读次数:
142
性能分析有一项是:发生OOM时,浏览对象分配和引用以发现和修复内存泄露;示例程序PointFactorypublic class PointFactory { protected ArrayList points = new ArrayList(); protected static P...
分类:
其他好文 时间:
2015-05-12 10:48:27
阅读次数:
110