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:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user