Merge "Increase max job limit to 150." into sc-dev
This commit is contained in:
@@ -59,6 +59,9 @@ import java.util.Objects;
|
|||||||
* constraint on the JobInfo object that you are creating. Otherwise, the builder would throw an
|
* constraint on the JobInfo object that you are creating. Otherwise, the builder would throw an
|
||||||
* exception when building. From Android version {@link Build.VERSION_CODES#Q} and onwards, it is
|
* exception when building. From Android version {@link Build.VERSION_CODES#Q} and onwards, it is
|
||||||
* valid to schedule jobs with no constraints.
|
* valid to schedule jobs with no constraints.
|
||||||
|
* <p> Prior to Android version {@link Build.VERSION_CODES#S}, jobs could only have a maximum of 100
|
||||||
|
* jobs scheduled at a time. Starting with Android version {@link Build.VERSION_CODES#S}, that limit
|
||||||
|
* has been increased to 150. Expedited jobs also count towards the limit.
|
||||||
* <p> In Android version {@link Build.VERSION_CODES#LOLLIPOP}, jobs had a maximum execution time
|
* <p> In Android version {@link Build.VERSION_CODES#LOLLIPOP}, jobs had a maximum execution time
|
||||||
* of one minute. Starting with Android version {@link Build.VERSION_CODES#M} and ending with
|
* of one minute. Starting with Android version {@link Build.VERSION_CODES#M} and ending with
|
||||||
* Android version {@link Build.VERSION_CODES#R}, jobs had a maximum execution time of 10 minutes.
|
* Android version {@link Build.VERSION_CODES#R}, jobs had a maximum execution time of 10 minutes.
|
||||||
|
|||||||
@@ -147,10 +147,8 @@ public class JobSchedulerService extends com.android.server.SystemService
|
|||||||
|
|
||||||
/** The maximum number of concurrent jobs we run at one time. */
|
/** The maximum number of concurrent jobs we run at one time. */
|
||||||
static final int MAX_JOB_CONTEXTS_COUNT = 16;
|
static final int MAX_JOB_CONTEXTS_COUNT = 16;
|
||||||
/** Enforce a per-app limit on scheduled jobs? */
|
/** The maximum number of jobs that we allow an app to schedule */
|
||||||
private static final boolean ENFORCE_MAX_JOBS = true;
|
private static final int MAX_JOBS_PER_APP = 150;
|
||||||
/** The maximum number of jobs that we allow an unprivileged app to schedule */
|
|
||||||
private static final int MAX_JOBS_PER_APP = 100;
|
|
||||||
/** The number of the most recently completed jobs to keep track of for debugging purposes. */
|
/** The number of the most recently completed jobs to keep track of for debugging purposes. */
|
||||||
private static final int NUM_COMPLETED_JOB_HISTORY = 20;
|
private static final int NUM_COMPLETED_JOB_HISTORY = 20;
|
||||||
|
|
||||||
@@ -1011,7 +1009,7 @@ public class JobSchedulerService extends com.android.server.SystemService
|
|||||||
|
|
||||||
if (DEBUG) Slog.d(TAG, "SCHEDULE: " + jobStatus.toShortString());
|
if (DEBUG) Slog.d(TAG, "SCHEDULE: " + jobStatus.toShortString());
|
||||||
// Jobs on behalf of others don't apply to the per-app job cap
|
// Jobs on behalf of others don't apply to the per-app job cap
|
||||||
if (ENFORCE_MAX_JOBS && packageName == null) {
|
if (packageName == null) {
|
||||||
if (mJobs.countJobsForUid(uId) > MAX_JOBS_PER_APP) {
|
if (mJobs.countJobsForUid(uId) > MAX_JOBS_PER_APP) {
|
||||||
Slog.w(TAG, "Too many jobs for uid " + uId);
|
Slog.w(TAG, "Too many jobs for uid " + uId);
|
||||||
throw new IllegalStateException("Apps may not schedule more than "
|
throw new IllegalStateException("Apps may not schedule more than "
|
||||||
|
|||||||
Reference in New Issue
Block a user