Overview of Concurrency in Time-Consuming Tasks

Time-consuming tasks are those that take a long time to complete. If executed in the UI main thread, they can cause application lag, frame drops, and slow response times. Typical examples include CPU intensive tasks, I/O intensive tasks, and synchronous tasks.

The following describes typical service scenarios for time-consuming tasks.

Service Scenario Description CPU Intensive Task I/O intensive Task Synchronous Task
Image/Video encoding and decoding Encoding or decoding images or videos for display. Supported Supported Not supported
Compression and decompression Decompressing local archives or compressing local files. Supported Supported Not supported
JSON parsing Serializing and deserializing JSON strings. Supported Not supported Not supported
Model computation Performing data analysis using models. Supported Not supported Not supported
Network download Downloading resources, images, and files via intensive network requests. Not supported Supported Not supported
Database operations Saving data like chat records, page layouts, or music lists to the database, or reading from the database on application restart. Not supported Supported Not supported