// in a garbage collected VM, destroy someObject:
someObject.a = null;
someObject.b = null;
someObject = null;
Tôi đã nghe nói rằng trong một máy ảo tốt như Java hoặc C# 's, bạn không nên làm điều này. Đặt 'a
và b
' sang null
sẽ làm chậm bộ sưu tập rác do GC mất nhiều thời gian hơn để tìm ra các đối tượng a
và b
trước đó không còn được tham chiếu nữa, trong khi nếu bạn để nguyên nguyên thì GC sẽ ngay lập tức kiểm tra khi làm sạch someObject
.Đặt tham chiếu thành null trong đối tượng để được GC'ed?
Giả sử những gì tôi nghe là đúng (đúng với tôi nếu không), có giống với AVM2, ActionScript 3 VM (đặc biệt trong các phiên bản Flash Player mới nhất) không?
Lý do tôi hỏi là tôi có một đồng nghiệp làm như vậy, bởi vì anh ấy đã học tại một chủ nhân trước đó nhanh hơn và Flash có nhiều quircks như thế (tôi thấy dễ tin).
Tôi chỉ tự hỏi liệu thông tin đó có được cập nhật hay không (đối với các tối ưu hóa Flash khác như vậy). Trong các thủ thuật tối ưu hóa trải nghiệm của tôi như vậy, việc đó đã lỗi thời khá nhanh trong một nền tảng sống.
Bạn thậm chí không cần phải cân nhắc xem đây có phải là một ý hay hay không. – delnan