File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22===
33
44
5- ##定义
5+ ## 定义
66内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存泄露。
77
8- ##原因
8+ ## 原因
99长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,
1010这就是` java ` 中内存泄露的发生场景。
1111
12- ##危害
12+ ## 危害
1313只有一个,那就是虚拟机占用内存过高,导致` OOM ` (内存溢出)。
1414对于` Android ` 应用来说,就是你的用户打开一个` Activity ` ,使用完之后关闭它,内存泄露;又打开,又关闭,又泄露;几次之后,程序占用内存超过系统限制就会出现` FC ` 。
1515
@@ -239,7 +239,7 @@ for (int i = 1; i < 100,; i++) {
239239 ...
240240 }
241241 ```
242- 上面的离职中 `ref1`对象是没问题的,但是`ref2`这个匿名类的实现对象中有外部类的引用,如果此时线程的生命周期与`Activity `的不一致时就会造成了泄漏。
242+ 上面的例子中 `ref1`对象是没问题的,但是`ref2`这个匿名类的实现对象中有外部类的引用,如果此时线程的生命周期与`Activity `的不一致时就会造成了泄漏。
243243
24424410. 集合类泄漏
245245 集合类中如果只有添加元素的方法,而没有相应的删除机制,导致内存被占用。如果这个集合类是全局性的变量(比如类中的静态属性),那么没有
@@ -256,4 +256,4 @@ for (int i = 1; i < 100,; i++) {
256256-- -
257257
258258- 邮箱 :charon. chui@gmail . com
259- - Good Luck !
259+ - Good Luck !
You can’t perform that action at this time.
0 commit comments