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

Commit 0fb2f2bd authored by 宋凯伦's avatar 宋凯伦 Committed by Kevin Song
Browse files

Fix the memory leak in TetherSettings

https://code.google.com/p/android/issues/detail?id=210848



We need to close the bluetooth adapter's profile proxy in OnDestroy 
method, or it will cause TetherSettings object to be held and won't
release. And finally it will cause OOM issue.
Change-Id: Id7667f751697c8ef9fccaaabfed28a91d4fa4960
Signed-off-by: default avatar宋凯伦 <songkailun@xiaomi.com>
parent 91f6b496
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -182,6 +182,16 @@ public class TetherSettings extends SettingsPreferenceFragment
                com.android.internal.R.array.config_mobile_hotspot_provision_app);
    }

    @Override
    public void onDestroy() {
        BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
        BluetoothProfile profile = mBluetoothPan.getAndSet(null);
        if (profile != null && adapter != null) {
            adapter.closeProfileProxy(BluetoothProfile.PAN, profile);
        }
        super.onDestroy();
    }

    @Override
    public void onSaveInstanceState(Bundle savedInstanceState) {
        savedInstanceState.putInt(TETHER_CHOICE, mTetherChoice);