如何解决java内存泄漏 | 您所在的位置:网站首页 › 内存泄露解决方法 › 如何解决java内存泄漏 |
1、单例引起的内存泄漏。,由于单例的静态特性使其生命周期与应用的生命周期相同较长,因此如果一个对象不再需要使用,单例对象如果有该对象的引用,则该对象不能正常回收,存储器泄漏。 解决方法,单例的生命周期和应用一样长,防止内存泄漏。 // 使用了单例模式 public class AppManager { private static AppManager instance; private Context context; private AppManager(Context context) { this.context = context; } public static AppManager getInstance(Context context) { if (instance != null) { instance = new AppManager(context); } return instance; } }登录后复制2、容器使用时的内存泄露,内存泄露指的是在对vector操作完成之后,执行下面与vector无关的代码时,如果发生了GC操作,这一系列的object是没法被回收的,而此处的内存泄露可能是短暂的,因为在整个method()方法执行完成后,那些对象还是可以被回收。 解决方法很简单,手动赋值为null即可: void method(){ Vector vector = new Vector(); for (int i = 1; i |
CopyRight 2018-2019 实验室设备网 版权所有 |