15

Có giải thích chi tiết về Surface, SurfaceHolder, EGLSurface, SurfaceView, GLSurfaceView, SurfaceTexture và TextureView không? Cụ thể:Tôi làm cách nào để sử dụng các lớp “Bề mặt” của Android?

  • Sự khác nhau giữa SurfaceView và TextureView là gì?
  • Tôi có cần sử dụng GLSurfaceView để sử dụng OpenGL ES không?
  • Bề mặt và bề mặt của EGLSurface tương tác như thế nào?
  • SurfaceTexture làm gì?
  • Tại sao nội dung tôi vẽ trên SurfaceView phải đi trên hoặc dưới mọi thứ khác?
  • SurfaceFlinger là gì?
  • Thành phần của thanh trạng thái và thanh điều hướng hoạt động như thế nào?
  • Khi chúng tôi đang ở đó, cách đúng đắn để cấu trúc vòng lặp trò chơi trên Android là gì?

Trả lời

17

Câu trả lời cho những điều này và nhiều câu hỏi khác bây giờ có thể được tìm thấy trên trang web dự án mã nguồn Android mở:

Android System-Level Graphics

Tài liệu này bắt đầu với một lời giải thích của cơ sở hạ tầng ở mức độ thấp, và sau đó giải thích cách các tính năng cấp cao hơn được xây dựng từ chúng. Mục tiêu không phải là cung cấp câu trả lời trực tiếp cho các câu hỏi phổ biến, mà là để mô tả hệ thống ở mức độ chi tiết mà làm cho câu trả lời rõ ràng mà không bị áp đảo.

Sự lựa chọn vật liệu và mức độ chi tiết bị ảnh hưởng nặng nề bởi Q & A trên stackoverflow.

(Về mặt kỹ thuật này là một câu trả lời liên kết duy nhất, nhưng viết 10.000 từ đây dường như là một ý tưởng tồi.)

+0

Tôi thích như thế nào câu hỏi và câu trả lời được viết trên phút cùng. –

+1

@ LéonPelletier: http://stackoverflow.com/help/self-answer – fadden

+0

Cảm ơn, tôi không biết nó đã được thiết lập. Nhưng tôi đã ngạc nhiên hơn về sự chậm trễ 0 phút. –

Các vấn đề liên quan