Vòng đời của ứng dụng
Trạng thái ứng dụng, AppDelegate, SceneDelegate, background modes, kết thúc ứng dụng
1UIApplicationDelegate là gì?
UIApplicationDelegate là gì?
Câu trả lời
UIApplicationDelegate là một protocol định nghĩa các phương thức callback cho vòng đời của ứng dụng. Nó cho phép phản hồi các sự kiện quan trọng như khởi chạy, chuyển sang nền hoặc chuyển lên tiền cảnh. Mọi ứng dụng iOS phải triển khai protocol này trong lớp AppDelegate của mình để quản lý vòng đời một cách chính xác. Đây là điểm trung tâm để khởi tạo các dịch vụ bên thứ ba, cấu hình thông báo và quản lý các chuyển đổi trạng thái toàn cục. Từ iOS 13, protocol này chia sẻ trách nhiệm với SceneDelegate để quản lý nhiều cửa sổ.
2Phương thức application(_:didFinishLaunchingWithOptions:) được gọi khi nào?
Phương thức application(_:didFinishLaunchingWithOptions:) được gọi khi nào?
Câu trả lời
Phương thức này được gọi khi ứng dụng khởi chạy, sau khi khởi tạo UIApplication và trước khi giao diện người dùng được hiển thị. Đây là thời điểm lý tưởng để khởi tạo các dịch vụ bên thứ ba, cấu hình cơ sở dữ liệu, đăng ký thông báo và thiết lập các tham số toàn cục. Nên tránh các thao tác dài vì chúng làm trễ việc hiển thị ban đầu.
3Các trạng thái chính trong vòng đời của ứng dụng iOS là gì?
Các trạng thái chính trong vòng đời của ứng dụng iOS là gì?
Câu trả lời
Vòng đời có năm trạng thái chính: Not Running (ứng dụng chưa khởi chạy hoặc đã bị kết thúc), Inactive (ứng dụng ở tiền cảnh nhưng không nhận sự kiện, gián đoạn tạm thời), Active (ứng dụng hoạt động bình thường và nhận sự kiện), Background (ứng dụng chạy ở nền với khoảng 30 giây trước khi bị tạm dừng) và Suspended (ứng dụng bị đóng băng trong bộ nhớ, không thực thi). Hiểu các trạng thái này cho phép quản lý tài nguyên đúng cách, xử lý quyền và tối ưu hóa pin. Việc chuyển đổi giữa các trạng thái này kích hoạt các phương thức AppDelegate hoặc SceneDelegate.
Sự khác biệt giữa applicationWillResignActive và applicationDidEnterBackground là gì?
Vai trò của applicationDidBecomeActive là gì?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn iOS khác
Kiến thức cơ bản về Swift
Kiến thức cơ bản về ngôn ngữ Swift
Kiến thức cơ bản về UIKit
Vòng đời UIViewController
UserDefaults & Keychain
Auto Layout & Constraints
UITableView & UICollectionView
Kiến thức cơ bản về SwiftUI
Quản lý trạng thái SwiftUI
Điều hướng SwiftUI
Networking & URLSession
Codable & Phân tích JSON
Core Data
Lập trình hướng giao thức
Kiến trúc MVVM
Thông báo Push
Unit Testing & XCTest
Kiểm thử giao diện người dùng
Xcode & Hệ thống Build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Tối ưu hóa hiệu suất
Bảo mật và mã hóa
SwiftUI Advanced
Kiến trúc ứng dụng iOS
Nắm vững iOS cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí