In Android, threading can be performed in the standard way by using threads. It is not recommended to just fire naked threads without any control. So, for this purpose, you can use the ThreadPools
and Executor
classes.
To demonstrate this, we will update our application. Create a new package called execution
with a class called TaskExecutor
. Make sure it looks like this:
package com.journaler.execution import java.util.concurrent.BlockingQueue import java.util.concurrent.LinkedBlockingQueue import java.util.concurrent.ThreadPoolExecutor import java.util.concurrent.TimeUnit class TaskExecutor private constructor( corePoolSize: Int, maximumPoolSize: Int, workQueue: BlockingQueue<Runnable>? ) : ThreadPoolExecutor( corePoolSize, maximumPoolSize, 0L, TimeUnit.MILLISECONDS, workQueue ) { companion object { fun getInstance(capacity:...