1## 8.5\. Consistent Performance 2 3Performance can fluctuate dramatically for high-performance long-running apps, 4either because of the other apps running in the background or the CPU throttling 5due to temperature limits. Android includes programmatic interfaces so that when 6the device is capable, the top foreground application can request that the 7system optimize the allocation of the resources to address such fluctuations. 8 9Device implementations: 10 11* [C-0-1] MUST report the support of Sustained Performance Mode accurately 12through the [`PowerManager.isSustainedPerformanceModeSupported()`]( 13https://developer.android.com/reference/android/os/PowerManager.html#isSustainedPerformanceModeSupported%28%29) 14API method. 15 16* SHOULD support Sustained Performance Mode. 17 18If device implementations report support of Sustained Performance Mode, they: 19 20* [C-1-1] MUST provide the top foreground application a consistent level of 21performance for at least 30 minutes, when the app requests it. 22* [C-1-2] MUST honor the [`Window.setSustainedPerformanceMode()`]( 23https://developer.android.com/reference/android/view/Window.html#setSustainedPerformanceMode%28boolean%29) 24API and other related APIs. 25 26If device implementations include two or more CPU cores, they: 27 28* SHOULD provide at least one exclusive core that can be reserved by the top 29foreground application. 30 31If device implementations support reserving one exclusive core for the top 32foreground application, they: 33 34* [C-2-1] MUST report through the [`Process.getExclusiveCores()`](https://developer.android.com/reference/android/os/Process.html#getExclusiveCores%28%29) 35 API method the ID numbers of the exclusive cores that can be reserved 36 by the top foreground application. 37* [C-2-2] MUST not allow any user space processes except the device drivers 38 used by the application to run on the exclusive cores, but MAY allow some 39 kernel processes to run as necessary. 40 41If device implementations do not support an exclusive core, they: 42 43* [C-3-1] MUST return an empty list through the 44[`Process.getExclusiveCores()`]( 45https://developer.android.com/reference/android/os/Process.html#getExclusiveCores%28%29) 46 API method. 47