Tối ưu hóa dựa trên Profile (Profile-Guided Optimization) cho quá trình khởi động ứng dụng Android
Chúng tôi đã giảm thời gian khởi động lạnh (cold start) của ứng dụng Android từ 1,2 giây xuống còn 380ms.
Hầu hết các ứng dụng đều chạy ở chế độ biên dịch chậm nhất trong lần khởi chạy đầu tiên. Android sử dụng chế độ "chỉ thông dịch" (interpret-only) khi người dùng mới cài đặt ứng dụng của bạn. Điều này khiến quá trình khởi động bị chậm. Hệ thống chỉ tối ưu hóa mã nguồn trong thời gian rảnh (idle time) sau đó.
Bạn có thể khắc phục điều này bằng quy trình ba bước.
Tạo Baseline Profiles Baseline Profiles cho hệ thống biết những lớp (class) nào cần được biên dịch tại thời điểm cài đặt. Hãy sử dụng Macrobenchmark để tạo các profile này trong quy trình CI của bạn. Các profile của chúng tôi chỉ bao gồm 12% số phương thức nhưng đã xử lý tới 94% thời gian khởi động.
K