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 |