diff options
author | Dianne Hackborn <hackbod@google.com> | 2013-04-30 17:24:15 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2013-05-02 17:42:40 -0700 |
commit | 8d044e8bc287c1a567d82aedbe30085b011544c3 (patch) | |
tree | 89966111423d4519c15874aa871d35d3cc92b206 /services/java/com/android/server/net/NetworkStatsService.java | |
parent | 34761434a0957dde28d6156afb48372934581c16 (diff) | |
download | frameworks_base-8d044e8bc287c1a567d82aedbe30085b011544c3.zip frameworks_base-8d044e8bc287c1a567d82aedbe30085b011544c3.tar.gz frameworks_base-8d044e8bc287c1a567d82aedbe30085b011544c3.tar.bz2 |
Start combining threads in system process.
This introduces four generic thread that services can
use in the system process:
- Background: part of the framework for all processes, for
work that is purely background (no timing constraint).
- UI: for time-critical display of UI.
- Foreground: normal foreground work.
- IO: performing IO operations.
I went through and moved services into these threads in the
places I felt relatively comfortable about understanding what
they are doing. There are still a bunch more we need to look
at -- lots of networking stuff left, 3 or so different native
daemon connectors which I didn't know how much would block,
audio stuff, etc.
Also updated Watchdog to be aware of and check these new
threads, with a new API for other threads to also participate
in this checking.
Change-Id: Ie2f11061cebde5f018d7383b3a910fbbd11d5e11
Diffstat (limited to 'services/java/com/android/server/net/NetworkStatsService.java')
-rw-r--r-- | services/java/com/android/server/net/NetworkStatsService.java | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java index 74be472..5074409 100644 --- a/services/java/com/android/server/net/NetworkStatsService.java +++ b/services/java/com/android/server/net/NetworkStatsService.java @@ -96,7 +96,6 @@ import android.os.Binder; import android.os.DropBoxManager; import android.os.Environment; import android.os.Handler; -import android.os.HandlerThread; import android.os.INetworkManagementService; import android.os.Message; import android.os.PowerManager; @@ -120,6 +119,7 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.util.FileRotator; import com.android.internal.util.IndentingPrintWriter; import com.android.server.EventLogTags; +import com.android.server.IoThread; import com.android.server.connectivity.Tethering; import com.google.android.collect.Maps; @@ -240,7 +240,6 @@ public class NetworkStatsService extends INetworkStatsService.Stub { /** Data layer operation counters for splicing into other structures. */ private NetworkStats mUidOperations = new NetworkStats(0L, 10); - private final HandlerThread mHandlerThread; private final Handler mHandler; private boolean mSystemReady; @@ -271,9 +270,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { Context.POWER_SERVICE); mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); - mHandlerThread = new HandlerThread(TAG); - mHandlerThread.start(); - mHandler = new Handler(mHandlerThread.getLooper(), mHandlerCallback); + mHandler = new Handler(IoThread.get().getLooper(), mHandlerCallback); mSystemDir = checkNotNull(systemDir); mBaseDir = new File(systemDir, "netstats"); |