StorageStats  |  API reference  |  Android Developers


public final class StorageStats
extends Object implements Parcelable



Storage statistics for a UID, package, or UserHandle on a single storage volume.

Summary

Constants

int APP_DATA_TYPE_FILE_TYPE_APK

Represents all .apk files in application code path.

int APP_DATA_TYPE_FILE_TYPE_CURRENT_PROFILE

Represents current profile of application.

int APP_DATA_TYPE_FILE_TYPE_DEXOPT_ARTIFACT

Represents all nonstale dexopt and runtime artifacts of application.

int APP_DATA_TYPE_FILE_TYPE_DM

Represents all .dm files in application code path.

int APP_DATA_TYPE_FILE_TYPE_REFERENCE_PROFILE

Represents reference profile of application.

int APP_DATA_TYPE_LIB

Represents lib/ in application code path.

Inherited constants

From interface android.os.Parcelable

int CONTENTS_FILE_DESCRIPTOR

Descriptor bit used with describeContents(): indicates that the Parcelable object's flattened representation includes a file descriptor.

int PARCELABLE_WRITE_RETURN_VALUE

Flag for use with writeToParcel(Parcel, int): the object being written is a return value, that is the result of a function such as "Parcelable someFunction()", "void someFunction(out Parcelable)", or "void someFunction(inout Parcelable)".

Fields

public static final Creator<StorageStats> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

long getAppBytes()

Return the size of app.

long getAppBytesByDataType(int dataType)

Return the size of the specified data type.

long getCacheBytes()

Return the size of all cached data.

long getDataBytes()

Return the size of all data.

long getExternalCacheBytes()

Return the size of all cached data in the primary external/shared storage.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

From class java.lang.Object

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

From interface android.os.Parcelable

abstract int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

abstract void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Constants

APP_DATA_TYPE_FILE_TYPE_APK

public static final int APP_DATA_TYPE_FILE_TYPE_APK

Represents all .apk files in application code path. Can be used as an input to getAppBytesByDataType(int) to get the sum of sizes for files of this type.

Constant Value: 3 (0x00000003)

APP_DATA_TYPE_FILE_TYPE_CURRENT_PROFILE

public static final int APP_DATA_TYPE_FILE_TYPE_CURRENT_PROFILE

Represents current profile of application. Current profiles may or may not be used during the next profile-guided dexopt. Can be used as an input to getAppBytesByDataType(int) to get the size of files of this type. This size fluctuates regularly, it goes up when the user uses more and more classes/methods and comes down when a deamon merges this into the ref profile and does profile-guided dexopt.

Constant Value: 2 (0x00000002)

APP_DATA_TYPE_FILE_TYPE_DEXOPT_ARTIFACT

public static final int APP_DATA_TYPE_FILE_TYPE_DEXOPT_ARTIFACT

Represents all nonstale dexopt and runtime artifacts of application. This includes AOT-compiled code and other data that can speed up app execution. For more detailed information, read the JIT compiler guide. Dexopt artifacts become stale when one of their dependencies has changed. They may be cleaned up or replaced by ART Services at any time. For a preload app, this type includes dexopt artifacts on readonly partitions if they are up-to-date. Can be used as an input to getAppBytesByDataType(int) to get the sum of sizes for files of this type. The sum might include the size of data that is part of appBytes, dataBytes or cacheBytes.

Constant Value: 0 (0x00000000)

APP_DATA_TYPE_FILE_TYPE_DM

public static final int APP_DATA_TYPE_FILE_TYPE_DM

Represents all .dm files in application code path. Can be used as an input to getAppBytesByDataType(int) to get the sum of sizes for files of this type.

Constant Value: 4 (0x00000004)

APP_DATA_TYPE_FILE_TYPE_REFERENCE_PROFILE

public static final int APP_DATA_TYPE_FILE_TYPE_REFERENCE_PROFILE

Represents reference profile of application. Reference profiles are the ones used during the last profile-guided dexopt. If the last dexopt wasn't profile-guided, then these profiles were not used. Can be used as an input to getAppBytesByDataType(int) to get the size of files of this type.

Constant Value: 1 (0x00000001)

APP_DATA_TYPE_LIB

public static final int APP_DATA_TYPE_LIB

Represents lib/ in application code path. Can be used as an input to getAppBytesByDataType(int) to get the size of lib/ directory.

Constant Value: 5 (0x00000005)

Fields

Public methods

describeContents

public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.
Value is either 0 or

getAppBytes

public long getAppBytes ()

Return the size of app. This includes APK files, optimized compiler output, and unpacked native libraries.

If the primary external/shared storage is hosted on this storage device, then this includes files stored under Context.getObbDir().

Code is shared between all users on a multiuser device.
Value is a non-negative number of bytes.

Returns
long Value is a non-negative number of bytes.

getCacheBytes

public long getCacheBytes ()

Return the size of all cached data. This includes files stored under Context.getCacheDir() and Context.getCodeCacheDir().

If the primary external/shared storage is hosted on this storage device, then this includes files stored under Context.getExternalCacheDir().

Cached data is isolated for each user on a multiuser device.
Value is a non-negative number of bytes.

Returns
long Value is a non-negative number of bytes.

getExternalCacheBytes

public long getExternalCacheBytes ()

Return the size of all cached data in the primary external/shared storage. This includes files stored under Context.getExternalCacheDir().

Cached data is isolated for each user on a multiuser device.
Value is a non-negative number of bytes.

Returns
long Value is a non-negative number of bytes.