Merge "Fix a memory leak in ConnectivityManager." into nyc-dev am: d97107a
am: e235da5 * commit 'e235da5d5cb1db440db228ee23314617e7dd9aa4': Fix a memory leak in ConnectivityManager. Change-Id: I713b4d68033aaac4ef2ada50a486538459814e77
This commit is contained in:
@@ -2737,7 +2737,7 @@ public class ConnectivityManager {
|
||||
private void incCallbackHandlerRefCount() {
|
||||
synchronized(sCallbackRefCount) {
|
||||
if (sCallbackRefCount.incrementAndGet() == 1) {
|
||||
// TODO - switch this over to a ManagerThread or expire it when done
|
||||
// TODO: switch this to ConnectivityThread
|
||||
HandlerThread callbackThread = new HandlerThread("ConnectivityManager");
|
||||
callbackThread.start();
|
||||
sCallbackHandler = new CallbackHandler(callbackThread.getLooper(),
|
||||
@@ -3096,6 +3096,10 @@ public class ConnectivityManager {
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
synchronized (sNetworkCallback) {
|
||||
sNetworkCallback.remove(networkCallback.networkRequest);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user