public final class ProcessState extends Object
Modifier and Type | Field and Description |
---|---|
static Comparator<ProcessState> |
COMPARATOR |
ProcessState |
tmpFoundSubProc |
int |
tmpNumInUse |
Constructor and Description |
---|
ProcessState(ProcessState commonProcess,
String pkg,
int uid,
int vers,
String name,
long now)
Create a new per-package process state for an existing top-level process
state.
|
ProcessState(ProcessStats processStats,
String pkg,
int uid,
int vers,
String name)
Create a new top-level process state, for the initial case where there is only
a single package running in a process.
|
Modifier and Type | Method and Description |
---|---|
void |
add(ProcessState other) |
void |
addPss(long pss,
long uss,
boolean always,
ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList) |
void |
aggregatePss(ProcessStats.TotalMemoryUseCollection data,
long now)
Sums up the PSS data and adds it to 'data'.
|
ProcessState |
clone(long now) |
void |
commitStateTime(long now) |
void |
computeProcessData(ProcessStats.ProcessDataCollection data,
long now) |
long |
computeProcessTimeLocked(int[] screenStates,
int[] memStates,
int[] procStates,
long now) |
void |
decActiveServices(String serviceName) |
void |
decStartedServices(int memFactor,
long now,
String serviceName) |
void |
dumpAllPssCheckin(PrintWriter pw) |
void |
dumpAllStateCheckin(PrintWriter pw,
long now) |
void |
dumpCsv(PrintWriter pw,
boolean sepScreenStates,
int[] screenStates,
boolean sepMemStates,
int[] memStates,
boolean sepProcStates,
int[] procStates,
long now) |
void |
dumpInternalLocked(PrintWriter pw,
String prefix,
boolean dumpAll) |
void |
dumpPackageProcCheckin(PrintWriter pw,
String pkgName,
int uid,
int vers,
String itemName,
long now) |
void |
dumpProcCheckin(PrintWriter pw,
String procName,
int uid,
long now) |
void |
dumpProcessState(PrintWriter pw,
String prefix,
int[] screenStates,
int[] memStates,
int[] procStates,
long now) |
void |
dumpPss(PrintWriter pw,
String prefix,
int[] screenStates,
int[] memStates,
int[] procStates) |
void |
dumpSummary(PrintWriter pw,
String prefix,
int[] screenStates,
int[] memStates,
int[] procStates,
long now,
long totalTime) |
ProcessState |
getCommonProcess() |
long |
getDuration(int state,
long now) |
int |
getDurationsBucketCount() |
String |
getName() |
String |
getPackage() |
long |
getPssAverage(int state) |
long |
getPssMaximum(int state) |
long |
getPssMinimum(int state) |
long |
getPssSampleCount(int state) |
long |
getPssUssAverage(int state) |
long |
getPssUssMaximum(int state) |
long |
getPssUssMinimum(int state) |
int |
getUid() |
int |
getVersion() |
boolean |
hasAnyData() |
void |
incActiveServices(String serviceName) |
void |
incStartedServices(int memFactor,
long now,
String serviceName) |
boolean |
isActive() |
boolean |
isInUse() |
boolean |
isMultiPackage() |
void |
makeActive() |
void |
makeDead() |
void |
makeInactive() |
void |
makeStandalone()
Say that we are not part of a shared process, so mCommonProcess = this.
|
ProcessState |
pullFixedProc(String pkgName) |
boolean |
readFromParcel(Parcel in,
boolean fully) |
void |
reportCachedKill(ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList,
long pss) |
void |
reportExcessiveCpu(ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList) |
void |
reportExcessiveWake(ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList) |
void |
resetSafely(long now) |
void |
setMultiPackage(boolean val) |
void |
setState(int state,
int memFactor,
long now,
ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList)
Update the current state of the given list of processes.
|
void |
setState(int state,
long now) |
String |
toString()
Returns a string representation of the object.
|
void |
writeToParcel(Parcel out,
long now) |
public static final Comparator<ProcessState> COMPARATOR
public int tmpNumInUse
public ProcessState tmpFoundSubProc
public ProcessState(ProcessStats processStats, String pkg, int uid, int vers, String name)
public ProcessState(ProcessState commonProcess, String pkg, int uid, int vers, String name, long now)
public ProcessState clone(long now)
public String getName()
public ProcessState getCommonProcess()
public void makeStandalone()
public String getPackage()
public int getUid()
public int getVersion()
public boolean isMultiPackage()
public void setMultiPackage(boolean val)
public int getDurationsBucketCount()
public void add(ProcessState other)
public void resetSafely(long now)
public void makeDead()
public void writeToParcel(Parcel out, long now)
public boolean readFromParcel(Parcel in, boolean fully)
public void makeActive()
public void makeInactive()
public boolean isInUse()
public boolean isActive()
public boolean hasAnyData()
public void setState(int state, int memFactor, long now, ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList)
state
- Current ActivityManager.PROCESS_STATE_*memFactor
- Current mem factor constant.now
- Current time.pkgList
- Processes to update.public void setState(int state, long now)
public void commitStateTime(long now)
public void incActiveServices(String serviceName)
public void decActiveServices(String serviceName)
public void incStartedServices(int memFactor, long now, String serviceName)
public void decStartedServices(int memFactor, long now, String serviceName)
public void addPss(long pss, long uss, boolean always, ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList)
public void reportExcessiveWake(ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList)
public void reportExcessiveCpu(ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList)
public void reportCachedKill(ArrayMap<String,ProcessStats.ProcessStateHolder> pkgList, long pss)
public ProcessState pullFixedProc(String pkgName)
public long getDuration(int state, long now)
public long getPssSampleCount(int state)
public long getPssMinimum(int state)
public long getPssAverage(int state)
public long getPssMaximum(int state)
public long getPssUssMinimum(int state)
public long getPssUssAverage(int state)
public long getPssUssMaximum(int state)
public void aggregatePss(ProcessStats.TotalMemoryUseCollection data, long now)
data
- The aggregate data is added here.now
- SystemClock.uptimeMillis()public long computeProcessTimeLocked(int[] screenStates, int[] memStates, int[] procStates, long now)
public void dumpSummary(PrintWriter pw, String prefix, int[] screenStates, int[] memStates, int[] procStates, long now, long totalTime)
public void dumpProcessState(PrintWriter pw, String prefix, int[] screenStates, int[] memStates, int[] procStates, long now)
public void dumpPss(PrintWriter pw, String prefix, int[] screenStates, int[] memStates, int[] procStates)
public void dumpInternalLocked(PrintWriter pw, String prefix, boolean dumpAll)
public void computeProcessData(ProcessStats.ProcessDataCollection data, long now)
public void dumpCsv(PrintWriter pw, boolean sepScreenStates, int[] screenStates, boolean sepMemStates, int[] memStates, boolean sepProcStates, int[] procStates, long now)
public void dumpPackageProcCheckin(PrintWriter pw, String pkgName, int uid, int vers, String itemName, long now)
public void dumpProcCheckin(PrintWriter pw, String procName, int uid, long now)
public void dumpAllStateCheckin(PrintWriter pw, long now)
public void dumpAllPssCheckin(PrintWriter pw)
public String toString()
Object
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())