Tôi đang sử dụng OpenGL ES để thực hiện vẽ trong ứng dụng Android.Android: Đồng bộ hóa với chuỗi trình kết xuất OpenGL
Tôi muốn viết một hàm được gọi từ chuỗi giao diện người dùng sẽ gọi chuỗi trình kết xuất và làm cho nó đọc và trả lại hình ảnh cho người gọi.
Tôi đã suy nghĩ về việc sử dụng Future để chuỗi giao diện người dùng có thể ngủ trong khi trình kết xuất ghi dữ liệu hình ảnh (thao tác đó rất nhanh, vì vậy người dùng sẽ không cảm thấy ứng dụng không phản hồi).
Nhưng tôi không biết cách gửi Tương lai cho chuỗi trình kết xuất. Tất cả các ví dụ tôi tìm thấy tạo chủ đề của riêng mình và sau đó gửi tương lai cho các chủ đề này. Tài liệu hướng dẫn về GLSurfaceView đề cập đến "Phương thức queueEvent() được sử dụng để giao tiếp an toàn giữa chuỗi giao diện người dùng và chuỗi hiển thị. Nếu bạn thích, bạn có thể sử dụng một số kỹ thuật giao tiếp chéo qua Java khác, chẳng hạn như các phương thức đồng bộ hóa trên lớp Renderer . " vì vậy có vẻ như sử dụng Tương lai thay vì gọi queueEvent()
là có thể, nhưng tôi không biết làm thế nào để làm điều đó.