Skip to content

Commit ded089a

Browse files
authored
Update 内存泄漏.md
1 parent f85a00a commit ded089a

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

BasicPart/内存泄漏.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
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

244244
10. 集合类泄漏
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!

0 commit comments

Comments
 (0)