https://s3-us-west-2.amazonaws.com/secure.notion-static.com/24045ea8-8367-45a2-b02b-e10abc4c29a9/rijksmuseum_avercamp_1608.jpg

TL,DR cho phần trước:

part 1, tôi có share cơ bản việc optimize pre-main time của app VinID:

<aside> 👉 Thời gian khởi động app = Pre-main time + main() + Post-main time

</aside>

Trong part 2 này, chúng ta sẽ tiếp tục việc optimize post-main time. Phần này đặc biệt có hiệu quả với các device đã được Apple ra mắt cách đây 4-5 năm, do đó tôi quyết định tung part 2-3 trước, anh chị em chờ ít hôm nữa bấm nút publish part 1 sau.

Sau khi migrate sang static library, pre-main time đã giảm, thời gian khởi động của VinID app đã không còn bị vượt quá thời gian giới hạn của Apple là 20s nữa, nhưng app load vẫn còn rất chậm, đem lại trải nghiệm không tốt cho user.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/adf82d0c-b48d-45b0-9937-da16a3472ca1/vinid_before_1-3.webp

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/dcd1d3c6-f1f4-4386-9dac-506a4a651a64/vinid_before_1-3.webp

Rất nhiều feedbacks của user phàn nàn về sự bất tiện liên quan đến việc app khởi động chậm: