Fix memory leak in ManageApplication

ApplicationsAdapter new a Session member and make it has a reference to
it self. If we don't release it explicitly, the cross reference will
cause memory leak.

Change-Id: Iecce35ae1d56d98cee6347e84d3a3ff57f3b15a5
This commit is contained in:
Jun Su
2013-07-18 17:43:26 +08:00
parent b5377a7165
commit f3a9578910

View File

@@ -321,6 +321,12 @@ public class ManageApplications extends Fragment implements
}
}
public void release() {
if (mApplications != null) {
mApplications.release();
}
}
void updateStorageUsage() {
// Make sure a callback didn't come at an inopportune time.
if (mOwner.getActivity() == null) return;
@@ -593,6 +599,10 @@ public class ManageApplications extends Fragment implements
}
}
public void release() {
mSession.release();
}
public void rebuild(int sort) {
if (sort == mLastSortMode) {
return;
@@ -990,6 +1000,7 @@ public class ManageApplications extends Fragment implements
// are no longer attached to their view hierarchy.
for (int i=0; i<mTabs.size(); i++) {
mTabs.get(i).detachView();
mTabs.get(i).release();
}
}