[英]Why does simple example using Activity in Android cause a memory leak?
我得到了以下示例,但我不確定為什么會導致內存泄漏? 我不能繞着它轉嗎?!
public class MyLeakActivity extends Activity {
// static reference to evil
private static final Evil e;
public MyLeakActivity() {
e = new Evil();
}
private final class Evil {
}
}
提前致謝。
問候法比安
看看這里……這篇文章是針對 Android 開發的。
https://dzone.com/articles/a-troublesome-legacy-memory-leaks-in-java
我認為您的設計可能永遠不會允許封閉類被 gc'd。 除非您有充分的理由使用非靜態內部類(可能出於范圍原因),否則一個好的經驗法則是始終從聲明為靜態的內部類開始。
在創建新對象之前,您應該檢查 e == null 是否。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.