FresherKỹ thuậtNền tảng di động
Mô tả các trạng thái trong vòng đời của một ứng dụng di động
Thử trả lời trước
Đáp án mẫu
Một ứng dụng di động chuyển giữa vài trạng thái khi người dùng và hệ điều hành tác động lên nó. Tên gọi hơi khác nhau theo nền tảng nhưng ý tưởng giống nhau.
- Not running: tiến trình chưa tồn tại.
- Foreground / active: ứng dụng đang hiển thị và nhận thao tác.
- Inactive: đang hiển thị nhưng không nhận sự kiện, ví dụ khi có cuộc gọi hoặc hộp thoại hệ thống xuất hiện.
- Background: ứng dụng không còn hiển thị. Nó chỉ có thời gian chạy hạn chế và hệ điều hành có thể tạm dừng.
- Suspended / killed: hệ điều hành có thể thu hồi bộ nhớ và kết thúc tiến trình mà không báo trước.
Trên Android, activity còn có các callback như onCreate, onStart, onResume, onPause, onStop và onDestroy. Trong React Native, AppState báo active, background và, trên iOS, inactive.
Hãy lưu trạng thái quan trọng khi ứng dụng chuyển xuống nền, vì nó có thể bị kết thúc trước khi người dùng quay lại.
Ý chính
- Các trạng thái: not running, active, inactive, background, suspended
- Hệ điều hành có thể kết thúc ứng dụng nền bất cứ lúc nào
- Activity của Android có thêm các callback như onPause và onStop
- Lưu trạng thái khi chuyển xuống nền
Câu hỏi nối tiếp thường gặp
- Bạn làm gì khi hệ điều hành kết thúc ứng dụng đang ở nền?
- Bạn tạm dừng video khi ứng dụng xuống nền như thế nào?
Lỗi thường gặp
- Cho rằng ứng dụng vẫn tiếp tục chạy ở nền
- Chỉ giữ state trong bộ nhớ và mất khi tiến trình bị kết thúc