Turo đã giảm 77% thời gian khởi động ứng dụng bằng cách sử dụng các công cụ dành cho Nhà phát triển Android và các phương pháp hay nhất

May 13 2023
Turo là thị trường chia sẻ ô tô lớn nhất thế giới, nơi khách có thể đặt bất kỳ chiếc ô tô nào họ muốn và ở bất cứ đâu họ muốn, từ một cộng đồng sôi động gồm những người chủ đáng tin cậy. Các nhà phát triển tại Turo gần đây đã đầu tư rất nhiều vào việc cải thiện hiệu suất khởi động của ứng dụng Android.

Turo là thị trường chia sẻ ô tô lớn nhất thế giới, nơi khách có thể đặt bất kỳ chiếc ô tô nào họ muốn và ở bất cứ đâu họ muốn, từ một cộng đồng sôi động gồm những người chủ đáng tin cậy.

Các nhà phát triển tại Turo gần đây đã đầu tư rất nhiều vào việc cải thiện hiệu suất khởi động của ứng dụng Android. Thời gian khởi động là ấn tượng đầu tiên mà người dùng có về một ứng dụng và thời gian tải chậm hơn có thể tác động tiêu cực đến tỷ lệ giữ chân và mức độ tương tác của người dùng. Nhóm muốn mang đến cho người dùng trải nghiệm nhanh hơn, hợp lý hơn mỗi khi họ khởi chạy ứng dụng. Và bằng cách sử dụng các công cụ, tài nguyên và thực tiễn tốt nhất của Android, họ đã có thể cắt giảm 77% thời gian khởi động của ứng dụng.

Thiết lập giai đoạn với thư viện Khởi động ứng dụng

Quá trình khởi tạo ứng dụng bao gồm toàn bộ quy trình khởi động của ứng dụng và tất cả mã mà ứng dụng chạy trước khi hiển thị khung giao diện người dùng đầu tiên. Đối với Turo, điều này có nghĩa là người dùng phải đợi ứng dụng chạy khởi động ban đầu, yêu cầu mạng đồng bộ và hoạt ảnh giật gân tùy chỉnh — tất cả trước khi chúng được hiển thị trên màn hình chính của ứng dụng.

Các nhà phát triển của Turo biết rằng để cải thiện thời gian tải của ứng dụng, họ cần cô đọng và loại bỏ nhiều sự kiện khởi động rườm rà này. Để giúp giảm bớt những sự kiện này, các kỹ sư của Turo đã sử dụng thư viện Khởi động ứng dụng của Android .

Thư viện Khởi động ứng dụng đã mang đến cho các nhà phát triển của Turo một cách đơn giản, hợp lý để khởi tạo nhiều thành phần trong quá trình khởi chạy ứng dụng. Nó cũng cho phép họ chọn thành phần nào sẽ khởi tạo và theo thứ tự nào, cho phép họ cải thiện đáng kể thời gian tải. Việc có sẵn thư viện Khởi động ứng dụng sẽ đặt nền tảng cho phần còn lại của quá trình tối ưu hóa khởi động của Turo.

Trì hoãn các yêu cầu mạng và cắt màn hình giật gân

Trước khi tối ưu hóa, ứng dụng đã thực hiện tuần tự nhiều yêu cầu mạng, sau đó hiển thị hoạt ảnh giật gân dài một giây tùy chỉnh trước khi người dùng có thể truy cập màn hình chính của ứng dụng. Điều này dẫn đến quá trình khởi động chậm, đặc biệt nếu người dùng có kết nối mạng kém.

Loại bỏ hoạt ảnh giật gân là một cách dễ dàng để các nhà phát triển Turo cải thiện thời gian tải. Và bằng cách thực hiện các yêu cầu mạng song song và không đồng bộ, người dùng có thể truy cập màn hình chính nhanh hơn nhiều. “Ban đầu, chúng tôi sử dụng SplashActivity chuyên dụng để chạy tất cả công việc khởi động trước khi định tuyến ứng dụng đến HomeActivity. Tuy nhiên, các hướng dẫn mới nhất khuyên chống lại phương pháp này. Do đó, chúng tôi đã loại bỏ SplashActivity dư thừa và chuyển tất cả logic khởi động sang hoạt động gốc của chúng tôi bằng cách tận dụng API Màn hình Splash,” Pavlo Stavytskyi, kỹ sư phần mềm nhân viên cấp cao tại Turo cho biết.

Đồng thời, ứng dụng cũng đang thực hiện một số yêu cầu mạng khởi động khác để điều chỉnh trải nghiệm cho từng người dùng, dẫn đến trải nghiệm người dùng không nhất quán. “Nếu ứng dụng được khách sử dụng, một số yêu cầu mạng sẽ giúp quyết định màn hình nào sẽ được hiển thị. hiển thị sau màn hình giật gân,” Pavlo nói. “Theo mặc định, đó là màn hình chính. Tuy nhiên, có những trường hợp đặc biệt mà người dùng có thể được chuyển hướng thẳng đến đặt xe đang hoạt động hoặc đến màn hình phản hồi.”

Nhóm không muốn làm chậm mọi lần khởi động ứng dụng bằng cách kiểm tra các tình huống thích hợp này. Thay vào đó, Turo hiện luôn mở màn hình chính theo mặc định trong khi thực hiện các yêu cầu mạng không đồng bộ. Nếu cần chuyển hướng, màn hình thích hợp sẽ được hiển thị trên đầu màn hình chính.

Áp dụng hồ sơ cơ sở

Nhóm Turo cũng đã áp dụng Cấu hình cơ sở để cải thiện hiệu suất của ứng dụng. Các cấu hình cơ sở giúp biên dịch trước các đường dẫn mã khởi động, tăng thời gian khởi động ứng dụng của Turo thêm 15% theo các thử nghiệm Macrobenchmark. Pavlo cho biết: “Sau khi chúng tôi xóa tất cả các yêu cầu mạng đồng bộ, thời lượng khởi động của chúng tôi trở nên xác định hơn và việc áp dụng Hồ sơ cơ sở sẽ hợp lý hơn”.

Cải thiện hiệu suất có thể giúp cải thiện tỷ lệ giữ chân người dùng, tăng giao dịch và xếp hạng tốt hơn. Cấu hình cơ sở là một cách nhanh chóng và đáng tin cậy để di chuyển kim với số lượng lớn.

Ưu tiên hiệu suất khởi động

Có nhiều yếu tố có thể ảnh hưởng đến thời gian khởi động của ứng dụng. Các nhà phát triển có thể xác định vị trí, thời điểm và cách họ có thể cải thiện ứng dụng của mình để đảm bảo ứng dụng được tối ưu hóa nhằm mang lại trải nghiệm người dùng tốt nhất tùy thuộc vào nhà phát triển.

“Điều quan trọng là bắt đầu cải tiến với những nhiệm vụ đòi hỏi ít nỗ lực nhất và mang lại kết quả cao nhất,” Pavlo nói. “Trong nhiều trường hợp, kỹ sư phải đối mặt với xung đột giữa việc phân bổ thời gian và nguồn lực cho công việc sản phẩm hoặc tối ưu hóa hiệu suất. Tuy nhiên, coi hiệu suất như một tính năng sản phẩm độc lập là điều không thể tránh khỏi đối với sự thành công của nó.”

Tối ưu hóa ứng dụng của bạn ngay hôm nay

Cải thiện thời gian khởi động ứng dụng của bạn bằng các phương pháp hay nhất của Android để tối ưu hóa ứng dụng , Khởi động ứng dụng của Android và Cấu hình cơ sở .

Bạn cũng có thể đọc toàn bộ câu chuyện về cách Turo đã cải thiện hiệu quả khởi động của ứng dụng bằng cách sử dụng các phương pháp hay nhất và công cụ dành cho nhà phát triển của Android.