1. Coroutine là gì ?
Về cơ bản thì coroutines là 1 thuật toán có khả năng dừng (suspend) và tiếp tục (resume) việc thực thi code nằm trong nó mà không làm cho thread bị block. Trong Android, nếu bạn chạy 1 hàm phức tạp nào đó trên main thread thì nó sẽ block UI cho đến khi hàm chạy xong.
Block UI sẽ làm cho app rơi vào trạng thái ANR và khả năng lớn là user sẽ uninstall app của bạn. Ngược lại, suspend tỏ ra...
Giới thiệu
Coroutines xây dựng dựa trên các chức năng thông thường bằng cách thêm hai hoạt động mới (ngoài việc invoke/call và return):
suspend - tạm dừng việc thực thi coroutine hiện tại, lưu tất cả các biến cục bộ. Luồng hiện tại có thể tiếp tục công việc của nó, trong khi mã tạm ngừng chạy trên một luồng khác.
resume - tiếp tục suspended coroutine từ nơi nó đã bị tạm dừng khi kết...