要清除所有後臺活動我做了以下內容:這種情況下的內存泄漏究竟是什麼?
我保持一個靜態數組列表,每當我去從一個活動到另一個活動,在新的活動的onCreate()方法,我添加的對象當前活動如下:
SomeClass.addActivity(CurrentActivity.this);
我在每項活動中添加了上述說明。
的addActivity():
public void addActivity(final Activity activity) {
activityList.add(activity);
}
而當我想以清除棧,我叫:
public boolean clearStack() {
for (Activity activity : activityList) {
activity.finish();
}
activityList.clear();
return (activityList.isEmpty());
}
就這樣,我清了活動堆棧。
但它產生了內存泄漏。這不是正確的做法。持續參考活動並不好。你們能解釋一下爲什麼以及在這種情況下究竟發生了什麼內存泄漏?
我用MAT月食找到我的應用程序此內存泄漏。
任何幫助將不勝感激。
清晰明瞭的解釋。謝謝 – Shrikant
@Shrikant:如果你願意 - 我可以爲你提供更好的解決方案來清除背景活動 –
Yaa。請告訴我。 – Shrikant