Load task allows implementing custom asynchronous resource loading.
More...
Load task allows implementing custom asynchronous resource loading.
A load task is split into an optional LoadTask#loadFunction and mandatory LoadTask#finishFunction. Kanzi can execute the LoadTask#loadFunction in a background worker thread, instead of the main thread. For this reason, perform here only thread-independent work. Kanzi calls the LoadTask#loadFunction in the main thread. The load task execution happens in this order:
◆ LoadTask()
Construct a ResourceLoadTask with the provided task type.
- Parameters
-
type | The task type that configures which task functions are called. |
◆ enqueueDependencies()
final void enqueueDependencies |
( |
String [] |
urls | ) |
|
|
protected |
Add resource dependencies for the load task.
Can be called any number of times inside a LoadTask#loadFunction implementation. Informs the main thread of the dependencies, which can then trigger their async loading.
- Parameters
-
urls | Array of dependency urls. |
◆ finishFunction()
abstract void finishFunction |
( |
| ) |
|
|
abstract |
The part of the loading that the main thread executes.
The function creates and stores a new resource that LoadTask#getResult() returns.
◆ getResourceManager()
Get the resource manager of a load task.
- Returns
- The resource manager.
◆ getResult()
Returns the created resource.
- Returns
- The created resource.
◆ getType()
Get the type of a load task.
- Returns
- The type of the load task.
◆ loadFunction()
You can override this function to define the part of the resource loading task that a worker thread executes.
You cannot access any shared data inside the function.