为什么使用static会导致OOM(内存泄漏)
来源:互联网 发布:海南软件 编辑:程序博客网 时间:2024/05/22 12:29
static是Java中的一个关键字,当用它来修饰成员变量时,那么该变量就属于该类,而不是该类的实例。 不少程序员喜欢用static这个关键字修饰变量,因为他使得变量的生命周期大大延长啦,并且访问的时候,也极其的方便,用类名就能直接访问,各个资源间 传值也极其的方便,所以,它经常被我们使用。但如果用它来引用一些资源耗费过多的实例(Context的情况最多),这时就要谨慎对待了。
public class ClassName {
private static Context mContext;
}
以上的代码是很危险的,如果将Activity赋值到么mContext的话。那么即使该Activity已经onDestroy,但是由于仍有对象保存它的引用,因此该Activity依然不会被释放,并且,如果该activity里面再持有一些资源,那就糟糕了。
0 0
- 为什么使用static会导致OOM(内存泄漏)
- 使用Glide导致内存泄漏最终OOM的问题解决
- 内存泄漏导致内存溢出(OOM)
- android 使用Handler 会导致内存泄漏问题
- android中的messenger会导致内存泄漏
- AVPacket && av_read_frame 会导致内存泄漏
- 静态方法会导致内存泄漏吗?
- 哪些操作会导致内存泄漏?
- 什么情况下会导致内存泄漏
- 一次内存泄漏导致的OOM实例分析和解决
- CATransition使用导致内存泄漏
- 内存泄漏 OOM
- fwrite为什么会导致内存一直增加。。。
- 内存泄漏的定义以及为什么会内存泄漏,如何防止内存泄漏
- static关键字所导致的内存泄漏问题
- static关键字所导致的内存泄漏问题
- static关键字所导致的内存泄漏问题
- ARC下会导致内存泄漏的情况
- 工人的请愿书 Another Crisis(UVa 12186)题解
- Android 多媒体相关
- 高并发Java 四 无锁
- SQL 学习
- java实现操作给定的二叉树,将其变换为源二叉树的镜像。
- 为什么使用static会导致OOM(内存泄漏)
- 创建基于arm的debian文件系统
- 《操作系统》第7章:内存管理
- 遍历对象的属性,判断属性的值,并且赋值,用来替代三元运算
- tomcat 安装和配置
- KWIC问题的实现
- baidu nlp api
- C Plus Plus 实现文件读写
- JDBC进化到mybatis