Cả Windows Phone / Xbox và Android đều thiếu hỗ trợ cho bộ sưu tập rác thế hệ. Điều này gây khó chịu cho rất nhiều lập trình viên. Dường như có một lý do kỹ thuật hợp pháp cho nó, nhưng tôi không thể tìm ra nó.
Các điện thoại hiện tại có nhiều bộ nhớ hơn và có thể là CPU tốt hơn so với máy tính để bàn / máy tính xách tay chạy .NET 1.1 với thế hệ GC trở lại vào năm 2001, và tôi không thể nghĩ ra bất kỳ lý do nào khiến bộ xử lý ARM sẽ tệ hơn ở thế hệ GC so với x86. Cũng không có nhu cầu đa nhiệm trên điện thoại và bảng điều khiển, do đó, có không gian heap tương đối miễn phí.
Vì vậy, những gì cho?
Chỉnh sửa: Một vài điểm để làm rõ:
- Các nền tảng này chỉ sử dụng bộ sưu tập rác cho các ứng dụng, vì vậy câu hỏi của tôi không phải là tại sao GC không được hỗ trợ; Câu hỏi của tôi là về lý do tại sao bộ sưu tập rác thế hệ không.
- Lý do khiến mọi người thất vọng về việc thiếu GC thế hệ là vì GC không có gen là cực kỳ kém hiệu quả. (Điều đó có nghĩa là tuổi thọ pin không phải là lý do.)
- Tôi tin rằng có một lý do kỹ thuật trung thực cho việc thiếu hỗ trợ GC thế hệ. Đây không phải là một câu hỏi tu từ.