Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3a95789 authored by Jun Su's avatar Jun Su
Browse files

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
parent b5377a71
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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();
        }
    }