Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 719c44e0 authored by Romain Guy's avatar Romain Guy
Browse files

Prevent AsyncTask from creating too many threads

Bug #10228005

From the ThreadPoolExecutor documentation:

  - If fewer than corePoolSize threads are running, the Executor
    always prefers adding a new thread rather than queuing.
  - If corePoolSize or more threads are running, the Executor
    always prefers queuing a request rather than adding a new thread.
  - If a request cannot be queued, a new thread is created unless
    this would exceed maximumPoolSize, in which case, the task will
    be rejected.

Before this change AsyncTask could create up to 128 threads because
of the limited queue of 10 items (the capacity of a blocking queue
is fixed.)

This change increases the size of the queue to 128 items and reduces
the maximum number of threads to the number of CPU cores * 2 + 1.
Apps can still submit the same number of tasks.

Change-Id: I015d77b53b6a9fda39c618830b34d45a10de5571
parent d81a15c6
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment