ฉันกำลังดิ้นรนเพื่อทำความเข้าใจกระบวนการวาดภาพSurfaceView
และดังนั้นทั้งSurface
/ Canvas
/ Bitmap
ระบบซึ่งใช้ใน Android
ฉันได้อ่านบทความและหน้าเอกสาร API ทั้งหมดซึ่งฉันสามารถหาได้ในไซต์สำหรับนักพัฒนาแอนดรอยด์, บทแนะนำเกี่ยวกับกราฟิก Android, ซอร์สโค้ด LunarLander และคำถามนี้
โปรดบอกฉันว่าข้อความใดเป็นจริงข้อใดไม่ใช่และเพราะเหตุใด
Canvas
มีของตัวเองBitmap
ติดอยู่Surface
มีของตัวเองCanvas
ติดอยู่- ทั้งหมด
View
เป็นของส่วนแบ่งหน้าต่างเดียวกันและทำให้แบ่งปันเดียวกันSurface
Canvas
SurfaceView
เป็นคลาสย่อยView
ซึ่งแตกต่างจากView
คลาสย่อยอื่น ๆและView
ตัวมันเองมีของตัวเองที่Surface
จะดึงเข้ามา
นอกจากนี้ยังมีคำถามเพิ่มเติมอีกหนึ่งคำถาม:
- เหตุใดจึงจำเป็นต้องมี
Surface
คลาสหากมีCanvas
การดำเนินการระดับสูงกับบิตแมปอยู่แล้ว ยกตัวอย่างสถานการณ์ที่Canvas
ไม่เหมาะสำหรับการทำงานที่Surface
สามารถทำได้