Loading api/current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -2722,6 +2722,7 @@ package android.app { method public int getLauncherLargeIconSize(); method public int getMemoryClass(); method public void getMemoryInfo(android.app.ActivityManager.MemoryInfo); method public static void getMyMemoryState(android.app.ActivityManager.RunningAppProcessInfo); method public android.os.Debug.MemoryInfo[] getProcessMemoryInfo(int[]); method public java.util.List<android.app.ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState(); method public java.util.List<android.app.ActivityManager.RecentTaskInfo> getRecentTasks(int, int) throws java.lang.SecurityException; Loading Loading @@ -2804,6 +2805,7 @@ package android.app { field public int importanceReasonCode; field public android.content.ComponentName importanceReasonComponent; field public int importanceReasonPid; field public int lastTrimLevel; field public int lru; field public int pid; field public java.lang.String[] pkgList; Loading Loading @@ -4826,6 +4828,9 @@ package android.content { field public static final int TRIM_MEMORY_BACKGROUND = 40; // 0x28 field public static final int TRIM_MEMORY_COMPLETE = 80; // 0x50 field public static final int TRIM_MEMORY_MODERATE = 60; // 0x3c field public static final int TRIM_MEMORY_RUNNING_CRITICAL = 15; // 0xf field public static final int TRIM_MEMORY_RUNNING_LOW = 10; // 0xa field public static final int TRIM_MEMORY_RUNNING_MODERATE = 5; // 0x5 field public static final int TRIM_MEMORY_UI_HIDDEN = 20; // 0x14 } core/java/android/app/ActivityManager.java +30 −3 Original line number Diff line number Diff line Loading @@ -1146,6 +1146,13 @@ public class ActivityManager { */ public int flags; /** * Last memory trim level reported to the process: corresponds to * the values supplied to {@link android.content.ComponentCallbacks2#onTrimMemory(int) * ComponentCallbacks2.onTrimMemory(int)}. */ public int lastTrimLevel; /** * Constant for {@link #importance}: this process is running the * foreground UI. Loading Loading @@ -1282,6 +1289,7 @@ public class ActivityManager { dest.writeInt(uid); dest.writeStringArray(pkgList); dest.writeInt(this.flags); dest.writeInt(lastTrimLevel); dest.writeInt(importance); dest.writeInt(lru); dest.writeInt(importanceReasonCode); Loading @@ -1296,6 +1304,7 @@ public class ActivityManager { uid = source.readInt(); pkgList = source.readStringArray(); flags = source.readInt(); lastTrimLevel = source.readInt(); importance = source.readInt(); lru = source.readInt(); importanceReasonCode = source.readInt(); Loading Loading @@ -1350,6 +1359,24 @@ public class ActivityManager { } } /** * Return global memory state information for the calling process. This * does not fill in all fields of the {@link RunningAppProcessInfo}. The * only fields that will be filled in are * {@link RunningAppProcessInfo#pid}, * {@link RunningAppProcessInfo#uid}, * {@link RunningAppProcessInfo#lastTrimLevel}, * {@link RunningAppProcessInfo#importance}, * {@link RunningAppProcessInfo#lru}, and * {@link RunningAppProcessInfo#importanceReasonCode}. */ static public void getMyMemoryState(RunningAppProcessInfo outState) { try { ActivityManagerNative.getDefault().getMyMemoryState(outState); } catch (RemoteException e) { } } /** * Return information about the memory usage of one or more processes. * Loading core/java/android/app/ActivityManagerNative.java +24 −1 Original line number Diff line number Diff line Loading @@ -1127,6 +1127,16 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM return true; } case GET_MY_MEMORY_STATE_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); ActivityManager.RunningAppProcessInfo info = new ActivityManager.RunningAppProcessInfo(); getMyMemoryState(info); reply.writeNoException(); info.writeToParcel(reply, 0); return true; } case GET_DEVICE_CONFIGURATION_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); ConfigurationInfo config = getDeviceConfigurationInfo(); Loading Loading @@ -2973,6 +2983,19 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } public void getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); mRemote.transact(GET_MY_MEMORY_STATE_TRANSACTION, data, reply, 0); reply.readException(); outInfo.readFromParcel(reply); reply.recycle(); data.recycle(); } public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException { Parcel data = Parcel.obtain(); Loading core/java/android/app/IActivityManager.java +7 −3 Original line number Diff line number Diff line Loading @@ -278,13 +278,16 @@ public interface IActivityManager extends IInterface { * SIGUSR1 is delivered. All others are ignored. */ public void signalPersistentProcesses(int signal) throws RemoteException; // Retrieve info of applications installed on external media that are currently // running. // Retrieve running application processes in the system public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() throws RemoteException; // Retrieve running application processes in the system // Retrieve info of applications installed on external media that are currently // running. public List<ApplicationInfo> getRunningExternalApplications() throws RemoteException; // Get memory information about the calling process. public void getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo) throws RemoteException; // Get device configuration public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; Loading Loading @@ -606,4 +609,5 @@ public interface IActivityManager extends IInterface { int KILL_ALL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+139; int GET_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+140; int REMOVE_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+141; int GET_MY_MEMORY_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+142; } core/java/android/content/ComponentCallbacks2.java +36 −2 Original line number Diff line number Diff line Loading @@ -51,16 +51,50 @@ public interface ComponentCallbacks2 extends ComponentCallbacks { */ static final int TRIM_MEMORY_UI_HIDDEN = 20; /** * Level for {@link #onTrimMemory(int)}: the process is not an expendable * background process, but the device is running extremely low on memory * and is about to not be able to keep any background processes running. * Your running process should free up as many non-critical resources as it * can to allow that memory to be used elsewhere. The next thing that * will happen after this is {@link #onLowMemory()} called to report that * nothing at all can be kept in the background, a situation that can start * to notably impact the user. */ static final int TRIM_MEMORY_RUNNING_CRITICAL = 15; /** * Level for {@link #onTrimMemory(int)}: the process is not an expendable * background process, but the device is running low on memory. * Your running process should free up unneeded resources to allow that * memory to be used elsewhere. */ static final int TRIM_MEMORY_RUNNING_LOW = 10; /** * Level for {@link #onTrimMemory(int)}: the process is not an expendable * background process, but the device is running moderately low on memory. * Your running process may want to release some unneeded resources for * use elsewhere. */ static final int TRIM_MEMORY_RUNNING_MODERATE = 5; /** * Called when the operating system has determined that it is a good * time for a process to trim unneeded memory from its process. This will * happen for example when it goes in the background and there is not enough * memory to keep as many background processes running as desired. * memory to keep as many background processes running as desired. You * should never compare to exact values of the level, since new intermediate * values may be added -- you will typically want to compare if the value * is greater or equal to a level you are interested in. * * @param level The context of the trim, giving a hint of the amount of * trimming the application may like to perform. May be * {@link #TRIM_MEMORY_COMPLETE}, {@link #TRIM_MEMORY_MODERATE}, * {@link #TRIM_MEMORY_BACKGROUND}, or {@link #TRIM_MEMORY_UI_HIDDEN}. * {@link #TRIM_MEMORY_BACKGROUND}, {@link #TRIM_MEMORY_UI_HIDDEN}, * {@link #TRIM_MEMORY_RUNNING_CRITICAL}, {@link #TRIM_MEMORY_RUNNING_LOW}, * or {@link #TRIM_MEMORY_RUNNING_MODERATE}. */ void onTrimMemory(int level); } Loading
api/current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -2722,6 +2722,7 @@ package android.app { method public int getLauncherLargeIconSize(); method public int getMemoryClass(); method public void getMemoryInfo(android.app.ActivityManager.MemoryInfo); method public static void getMyMemoryState(android.app.ActivityManager.RunningAppProcessInfo); method public android.os.Debug.MemoryInfo[] getProcessMemoryInfo(int[]); method public java.util.List<android.app.ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState(); method public java.util.List<android.app.ActivityManager.RecentTaskInfo> getRecentTasks(int, int) throws java.lang.SecurityException; Loading Loading @@ -2804,6 +2805,7 @@ package android.app { field public int importanceReasonCode; field public android.content.ComponentName importanceReasonComponent; field public int importanceReasonPid; field public int lastTrimLevel; field public int lru; field public int pid; field public java.lang.String[] pkgList; Loading Loading @@ -4826,6 +4828,9 @@ package android.content { field public static final int TRIM_MEMORY_BACKGROUND = 40; // 0x28 field public static final int TRIM_MEMORY_COMPLETE = 80; // 0x50 field public static final int TRIM_MEMORY_MODERATE = 60; // 0x3c field public static final int TRIM_MEMORY_RUNNING_CRITICAL = 15; // 0xf field public static final int TRIM_MEMORY_RUNNING_LOW = 10; // 0xa field public static final int TRIM_MEMORY_RUNNING_MODERATE = 5; // 0x5 field public static final int TRIM_MEMORY_UI_HIDDEN = 20; // 0x14 }
core/java/android/app/ActivityManager.java +30 −3 Original line number Diff line number Diff line Loading @@ -1146,6 +1146,13 @@ public class ActivityManager { */ public int flags; /** * Last memory trim level reported to the process: corresponds to * the values supplied to {@link android.content.ComponentCallbacks2#onTrimMemory(int) * ComponentCallbacks2.onTrimMemory(int)}. */ public int lastTrimLevel; /** * Constant for {@link #importance}: this process is running the * foreground UI. Loading Loading @@ -1282,6 +1289,7 @@ public class ActivityManager { dest.writeInt(uid); dest.writeStringArray(pkgList); dest.writeInt(this.flags); dest.writeInt(lastTrimLevel); dest.writeInt(importance); dest.writeInt(lru); dest.writeInt(importanceReasonCode); Loading @@ -1296,6 +1304,7 @@ public class ActivityManager { uid = source.readInt(); pkgList = source.readStringArray(); flags = source.readInt(); lastTrimLevel = source.readInt(); importance = source.readInt(); lru = source.readInt(); importanceReasonCode = source.readInt(); Loading Loading @@ -1350,6 +1359,24 @@ public class ActivityManager { } } /** * Return global memory state information for the calling process. This * does not fill in all fields of the {@link RunningAppProcessInfo}. The * only fields that will be filled in are * {@link RunningAppProcessInfo#pid}, * {@link RunningAppProcessInfo#uid}, * {@link RunningAppProcessInfo#lastTrimLevel}, * {@link RunningAppProcessInfo#importance}, * {@link RunningAppProcessInfo#lru}, and * {@link RunningAppProcessInfo#importanceReasonCode}. */ static public void getMyMemoryState(RunningAppProcessInfo outState) { try { ActivityManagerNative.getDefault().getMyMemoryState(outState); } catch (RemoteException e) { } } /** * Return information about the memory usage of one or more processes. * Loading
core/java/android/app/ActivityManagerNative.java +24 −1 Original line number Diff line number Diff line Loading @@ -1127,6 +1127,16 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM return true; } case GET_MY_MEMORY_STATE_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); ActivityManager.RunningAppProcessInfo info = new ActivityManager.RunningAppProcessInfo(); getMyMemoryState(info); reply.writeNoException(); info.writeToParcel(reply, 0); return true; } case GET_DEVICE_CONFIGURATION_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); ConfigurationInfo config = getDeviceConfigurationInfo(); Loading Loading @@ -2973,6 +2983,19 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } public void getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); mRemote.transact(GET_MY_MEMORY_STATE_TRANSACTION, data, reply, 0); reply.readException(); outInfo.readFromParcel(reply); reply.recycle(); data.recycle(); } public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException { Parcel data = Parcel.obtain(); Loading
core/java/android/app/IActivityManager.java +7 −3 Original line number Diff line number Diff line Loading @@ -278,13 +278,16 @@ public interface IActivityManager extends IInterface { * SIGUSR1 is delivered. All others are ignored. */ public void signalPersistentProcesses(int signal) throws RemoteException; // Retrieve info of applications installed on external media that are currently // running. // Retrieve running application processes in the system public List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses() throws RemoteException; // Retrieve running application processes in the system // Retrieve info of applications installed on external media that are currently // running. public List<ApplicationInfo> getRunningExternalApplications() throws RemoteException; // Get memory information about the calling process. public void getMyMemoryState(ActivityManager.RunningAppProcessInfo outInfo) throws RemoteException; // Get device configuration public ConfigurationInfo getDeviceConfigurationInfo() throws RemoteException; Loading Loading @@ -606,4 +609,5 @@ public interface IActivityManager extends IInterface { int KILL_ALL_BACKGROUND_PROCESSES_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+139; int GET_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+140; int REMOVE_CONTENT_PROVIDER_EXTERNAL_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+141; int GET_MY_MEMORY_STATE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+142; }
core/java/android/content/ComponentCallbacks2.java +36 −2 Original line number Diff line number Diff line Loading @@ -51,16 +51,50 @@ public interface ComponentCallbacks2 extends ComponentCallbacks { */ static final int TRIM_MEMORY_UI_HIDDEN = 20; /** * Level for {@link #onTrimMemory(int)}: the process is not an expendable * background process, but the device is running extremely low on memory * and is about to not be able to keep any background processes running. * Your running process should free up as many non-critical resources as it * can to allow that memory to be used elsewhere. The next thing that * will happen after this is {@link #onLowMemory()} called to report that * nothing at all can be kept in the background, a situation that can start * to notably impact the user. */ static final int TRIM_MEMORY_RUNNING_CRITICAL = 15; /** * Level for {@link #onTrimMemory(int)}: the process is not an expendable * background process, but the device is running low on memory. * Your running process should free up unneeded resources to allow that * memory to be used elsewhere. */ static final int TRIM_MEMORY_RUNNING_LOW = 10; /** * Level for {@link #onTrimMemory(int)}: the process is not an expendable * background process, but the device is running moderately low on memory. * Your running process may want to release some unneeded resources for * use elsewhere. */ static final int TRIM_MEMORY_RUNNING_MODERATE = 5; /** * Called when the operating system has determined that it is a good * time for a process to trim unneeded memory from its process. This will * happen for example when it goes in the background and there is not enough * memory to keep as many background processes running as desired. * memory to keep as many background processes running as desired. You * should never compare to exact values of the level, since new intermediate * values may be added -- you will typically want to compare if the value * is greater or equal to a level you are interested in. * * @param level The context of the trim, giving a hint of the amount of * trimming the application may like to perform. May be * {@link #TRIM_MEMORY_COMPLETE}, {@link #TRIM_MEMORY_MODERATE}, * {@link #TRIM_MEMORY_BACKGROUND}, or {@link #TRIM_MEMORY_UI_HIDDEN}. * {@link #TRIM_MEMORY_BACKGROUND}, {@link #TRIM_MEMORY_UI_HIDDEN}, * {@link #TRIM_MEMORY_RUNNING_CRITICAL}, {@link #TRIM_MEMORY_RUNNING_LOW}, * or {@link #TRIM_MEMORY_RUNNING_MODERATE}. */ void onTrimMemory(int level); }