Instagram và Facebook cung cấp tính năng phát tức thì và tăng cường mức độ tương tác của người dùng nhờ PreloadManager của Media3
Thời gian đọc: 4 phút
Trong thế giới mạng xã hội năng động, sự chú ý của người dùng có thể nhanh chóng bị thu hút hoặc mất đi. Các ứng dụng của Meta (Facebook và Instagram) là một trong những nền tảng xã hội lớn nhất thế giới và phục vụ hàng tỷ người dùng trên toàn cầu. Đối với Meta, việc cung cấp video một cách mượt mà không chỉ là một tính năng mà còn là cốt lõi của trải nghiệm người dùng. Video dạng ngắn, đặc biệt là Bảng tin Facebook và Instagram Reels, đã trở thành yếu tố chính thúc đẩy mức độ tương tác. Chúng cho phép người dùng thể hiện sự sáng tạo và nhanh chóng tiêu thụ nội dung, kết nối và giải trí cho mọi người trên khắp thế giới.
Bài đăng trên blog này sẽ đưa bạn đi qua hành trình Meta chuyển đổi tính năng phát video cho hàng tỷ người dùng bằng cách cung cấp tính năng phát tức thì thực sự.
Khoảng thời gian chờ trong video dạng ngắn
Video dạng ngắn dẫn đến các hoạt động tương tác có nhịp độ rất nhanh khi người dùng nhanh chóng lướt qua nguồn cấp dữ liệu của họ. Việc chuyển đổi mượt mà giữa các video trong một nguồn cấp dữ liệu luôn thay đổi sẽ tạo ra những trở ngại riêng cho tính năng phát tức thì. Do đó, chúng ta cần các giải pháp vượt xa bộ nhớ đệm trên đĩa truyền thống và các chiến lược phát phản ứng tiêu chuẩn.
Hướng đi tiếp theo với PreloadManager của Media3
Để giải quyết những thay đổi trong thói quen tiêu thụ nội dung do sự gia tăng của nội dung dạng ngắn và những hạn chế của cấu trúc phát nội dung dạng dài truyền thống, Jetpack Media3 đã giới thiệu PreloadManager. Thành phần này cho phép nhà phát triển vượt ra ngoài bộ nhớ đệm trên đĩa, cung cấp khả năng kiểm soát và tuỳ chỉnh chi tiết để giữ cho nội dung nghe nhìn sẵn sàng trong bộ nhớ trước khi người dùng nhấn nút phát. Hãy đọc loạt bài đăng trên blog này để hiểu các chi tiết kỹ thuật về tính năng phát nội dung nghe nhìn bằng PreloadManager.
Cách Meta đạt được tính năng phát tức thì thực sự
Các vấn đề phức tạp hiện có
Trước đây, Meta đã sử dụng kết hợp tính năng khởi động (để chuẩn bị trình phát) và tìm nạp trước (để lưu nội dung vào bộ nhớ đệm trên đĩa) để phân phối video. Mặc dù các phương thức này giúp cải thiện hiệu quả mạng, nhưng chúng cũng gây ra những thách thức đáng kể. Tính năng khởi động yêu cầu khởi tạo nhiều thực thể trình phát theo trình tự, tiêu tốn nhiều bộ nhớ và giới hạn việc tải trước chỉ cho một vài video. Nhu cầu cao về tài nguyên này có nghĩa là cần áp dụng một giải pháp mạnh mẽ có khả năng mở rộng hơn để cung cấp tính năng phát tức thì như mong đợi trên các nguồn cấp dữ liệu xã hội hiện đại, có tốc độ cuộn nhanh.
Tích hợp PreloadManager của Media3
Để đạt được tính năng phát tức thì thực sự, nhóm Khách hàng nền tảng nội dung nghe nhìn của Meta đã tích hợp PreloadManager của Jetpack Media3 vào Facebook và Instagram. Họ đã chọn DefaultPreloadManager để hợp nhất các hệ thống tải trước và phát. Quá trình tích hợp này yêu cầu tái cấu trúc kiến trúc hiện có của Meta để cho phép chia sẻ tài nguyên hiệu quả giữa các thực thể PreloadManager và ExoPlayer. Sự thay đổi chiến lược này mang lại một lợi thế kiến trúc quan trọng: khả năng song song hoá các tác vụ tải trước và quản lý nhiều video bằng một thực thể trình phát duy nhất. Điều này giúp tăng đáng kể khả năng tải trước đồng thời loại bỏ các vấn đề phức tạp về bộ nhớ cao của phương pháp trước đó.
Tối ưu hoá và điều chỉnh hiệu suất
Sau đó, nhóm đã tiến hành kiểm thử và lặp lại nhiều lần để tối ưu hoá hiệu suất trên hệ sinh thái thiết bị toàn cầu đa dạng của Meta. Việc tải trước tích cực ban đầu đôi khi gây ra các vấn đề, bao gồm tăng mức sử dụng bộ nhớ và làm chậm hiệu suất cuộn. Để giải quyết vấn đề này, họ đã tinh chỉnh việc triển khai bằng cách đo lường bộ nhớ cẩn thận, xem xét sự phân mảnh thiết bị và điều chỉnh hệ thống cho phù hợp với các mẫu giao diện người dùng cụ thể.
Tinh chỉnh việc triển khai cho phù hợp với các mẫu giao diện người dùng cụ thể
Meta đã áp dụng các chiến lược tải trước khác nhau và điều chỉnh hành vi cho phù hợp với các mẫu giao diện người dùng cụ thể của từng ứng dụng:
- Bảng tin Facebook: Giao diện người dùng ưu tiên video hiện đang xuất hiện. Trình quản lý chỉ tải trước video hiện tại để đảm bảo video bắt đầu phát ngay khi người dùng tạm dừng cuộn. Việc tập trung vào "chỉ video hiện tại" giúp giảm thiểu lượng dữ liệu và bộ nhớ trong môi trường mà người dùng có thể thấy nhiều bài đăng tĩnh giữa các video. Mặc dù hệ thống hiện được thiết kế để chỉ tải trước video đang xem, nhưng bạn có thể điều chỉnh để tải trước cả các video sắp tới (trong tương lai).
- Instagram Reels: Đây là môi trường chỉ có video, nơi người dùng vuốt theo chiều dọc. Đối với giao diện người dùng này, nhóm đã triển khai chiến lược "tải trước video liền kề". PreloadManager giữ các video ngay sau video Reel hiện tại sẵn sàng trong bộ nhớ. Phương pháp hai chiều này đảm bảo rằng dù người dùng vuốt lên hay xuống, quá trình chuyển đổi vẫn diễn ra tức thì và mượt mà. Kết quả là chất lượng trải nghiệm (QoE) đã được cải thiện đáng kể, bao gồm cả việc cải thiện thời gian bắt đầu phát và thời gian hiển thị khung hình đầu tiên cho người dùng.
Mở rộng quy mô cho hệ sinh thái thiết bị toàn cầu đa dạng
Việc mở rộng quy mô ngăn xếp video hiệu suất cao trên hàng tỷ thiết bị không chỉ yêu cầu tải trước tích cực mà còn cần đến trí tuệ. Meta gặp phải những thách thức ban đầu về áp lực bộ nhớ và độ trễ khi cuộn, đặc biệt là trên phần cứng tầm trung đến tầm thấp. Để giải quyết vấn đề này, họ đã xây dựng hệ thống Phát hiện mức độ căng thẳng của thiết bị dựa trên việc triển khai Media3. Giờ đây, các ứng dụng sẽ theo dõi tín hiệu I/O và CPU theo thời gian thực. Nếu một thiết bị đang chịu tải nặng, quá trình tải trước sẽ bị tạm dừng để ưu tiên khả năng phản hồi của giao diện người dùng.
Việc tối ưu hoá dựa trên thiết bị này đảm bảo rằng lợi ích của tính năng phát tức thì không ảnh hưởng đến sự ổn định của hệ thống, cho phép ngay cả những người dùng có phần cứng cũ hơn cũng có thể trải nghiệm nguồn cấp dữ liệu mượt mà và không bị gián đoạn.
Lợi ích về kiến trúc và tình trạng mã
Ngoài các chỉ số hướng đến người dùng, việc di chuyển sang PreloadManager của Media3 còn mang lại lợi ích lâu dài về kiến trúc. Mặc dù quá trình tích hợp và điều chỉnh cần nhiều lần lặp lại để cân bằng hiệu suất, nhưng cơ sở mã kết quả sẽ dễ bảo trì hơn. Nhóm nhận thấy rằng API PreloadManager được tích hợp gọn gàng với hệ sinh thái Media3 hiện có, cho phép chia sẻ tài nguyên tốt hơn. Đối với Meta, việc áp dụng PreloadManager của Media3 là một khoản đầu tư chiến lược vào tương lai của việc tiêu thụ video.
Bằng cách áp dụng tính năng tải trước và thêm các cổng thông minh dựa trên thiết bị, họ đã tăng tổng thời gian xem trên các ứng dụng của mình và cải thiện mức độ tương tác tổng thể của cộng đồng toàn cầu.
Tác động đến Instagram và Facebook
Kiến trúc chủ động mang lại những cải tiến tức thì và có thể đo lường trên cả hai nền tảng.
- Facebook có thời gian bắt đầu phát nhanh hơn, giảm tỷ lệ phát bị gián đoạn và giảm số phiên không tốt (như tải lại, thời gian bắt đầu bị trễ, chất lượng thấp hơn, v.v.), dẫn đến tổng thời gian xem cao hơn.
- Instagram có thời gian bắt đầu phát nhanh hơn và tăng tổng thời gian xem. Việc loại bỏ độ trễ khi tham gia (khoảng thời gian từ hành động của người dùng đến khi hiển thị khung hình đầu tiên) đã trực tiếp làm tăng các chỉ số tương tác. Việc giảm số lần gián đoạn do giảm bộ nhớ đệm có nghĩa là người dùng xem nhiều nội dung hơn, điều này thể hiện qua các chỉ số tương tác.
Những bài học quan trọng về kỹ thuật ở quy mô lớn
Khi thói quen tiêu thụ nội dung nghe nhìn phát triển, nhu cầu về trải nghiệm tức thì sẽ tiếp tục tăng. Việc triển khai tính năng quản lý bộ nhớ chủ động và tối ưu hoá cho quy mô và sự đa dạng của thiết bị đảm bảo ứng dụng của bạn có thể đáp ứng những kỳ vọng này một cách hiệu quả.
- Ưu tiên tải trước thông minh
Tập trung vào việc mang lại trải nghiệm đáng tin cậy bằng cách giảm thiểu tình trạng giật và thời gian tải thông qua tính năng tải trước. Thay vì chỉ lưu vào bộ nhớ đệm trên đĩa, việc tận dụng tính năng tải trước ở cấp bộ nhớ sẽ đảm bảo rằng nội dung sẵn sàng ngay khi người dùng tương tác với nội dung đó.
- Điều chỉnh việc triển khai cho phù hợp với các mẫu giao diện người dùng
Tuỳ chỉnh hành vi tải trước theo giao diện người dùng của ứng dụng. Ví dụ: sử dụng chế độ tập trung vào "chỉ video hiện tại" cho các nguồn cấp dữ liệu hỗn hợp như Facebook để tiết kiệm bộ nhớ và chiến lược "tải trước video liền kề" cho các môi trường dọc như Instagram Reels.
- Tận dụng Media3 để đảm bảo tình trạng mã lâu dài
Việc tích hợp với các API Media3 thay vì giải pháp lưu vào bộ nhớ đệm tuỳ chỉnh cho phép chia sẻ tài nguyên tốt hơn giữa trình phát và PreloadManager, cho phép bạn quản lý nhiều video bằng một thực thể trình phát duy nhất. Điều này giúp tạo ra một toàn bộ mã nguồn có khả năng thích ứng với tương lai, giúp các nhóm kỹ sư không chỉ dễ dàng duy trì và tối ưu hoá theo thời gian mà còn hưởng lợi từ các bản cập nhật tính năng mới nhất.
- Triển khai các phương pháp tối ưu hoá dựa trên thiết bị
Mở rộng phạm vi tiếp cận thị trường bằng cách kiểm thử trên nhiều thiết bị, bao gồm cả các mẫu tầm trung đến tầm thấp. Sử dụng các tín hiệu theo thời gian thực như CPU, bộ nhớ và I/O để điều chỉnh các tính năng và mức sử dụng tài nguyên một cách linh hoạt.
Tìm hiểu thêm
Để bắt đầu và tìm hiểu thêm, hãy truy cập vào
- Khám phá tài liệu về PreloadManager của Media3.
- Hãy xem ứng dụng mẫu để xem tính năng tải trước hoạt động như thế nào.
Giờ bạn đã biết các bí quyết để phát tức thì. Hãy thử áp dụng chúng!
-
năm 2026năm 2026
Các nghiên cứu điển hìnhKarrot là một ứng dụng thị trường ngang hàng, dựa trên cộng đồng, siêu địa phương, cho phép người dùng mua, bán và trao đổi mặt hàng với những người dùng đã xác minh khác. Kể từ khi ra mắt tại Hàn Quốc vào năm 2015, nền tảng này đã mở rộng sang các thị trường toàn cầu, thu hút hơn 43 triệu người dùng đã đăng ký.
Thomas Ezan, Tracy Agyemang • Thời gian đọc: 2 phút -
Các nghiên cứu điển hìnhMonzo là một ngân hàng kỹ thuật số ở Vương quốc Anh với 15 triệu khách hàng và đang phát triển. Khi ứng dụng mở rộng quy mô, nhóm kỹ thuật đã xác định thời gian khởi động ứng dụng là một lĩnh vực quan trọng cần cải thiện nhưng lo ngại rằng việc này sẽ yêu cầu những thay đổi đáng kể đối với cơ sở mã của họ.
Ben Weiss, Tracy Agyemang • Thời gian đọc: 2 phút -
Các nghiên cứu điển hìnhViệc xây dựng ứng dụng Android cho thiết bị đeo có nghĩa là công việc thực sự bắt đầu khi màn hình tắt.
Breana Tate, Tracy Agyemang • Thời gian đọc: 4 phút
Nhận thông tin chi tiết mới nhất về quá trình phát triển Android trong hộp thư đến của bạn mỗi tuần.