Olay modeli ile geri aramaların karşılaştırması

Olay modeli yerine basit geri aramalar kullanmayı düşünün.

ActionScript 3.0 olay modeli nesne gönderme kavramına dayanır. Olay modeli nesne yönelimlidir ve kodun yeniden kullanımı için en iyileştirilmiştir. dispatchEvent() yöntemi dinleyici listesi üzerinden döngüde ilerler ve kayıtlı her nesnede olay işleyicisini çağırır. Ancak olay modelinin dezavantajlarından biri uygulamanızı kullandığınız süre boyunca çok sayıda nesne oluşturacak olmanızdır.

Zaman çizelgesinden animasyon dizisinin sonunu gösteren bir olay göndermeniz gerektiğini düşünün. Bildirimin tamamlanması için, aşağıdaki örnekte gösterildiği gibi zaman çizelgesindeki belirli bir kareden olay gönderebilirsiniz:

dispatchEvent( new Event ( Event.COMPLETE ) );

Document sınıfı bu olayı aşağıdaki kod satırıyla dinleyebilir:

addEventListener( Event.COMPLETE, onAnimationComplete );

Bu yaklaşım doğru olsa da, yerel olay modelinin kullanılması daha yavaş olabilir ve klasik bir geri çağırma işlevi kullanmak işlemine göre daha fazla bellek kullanabilir. Olay nesneleri bellekte oluşturulmalı ve ayrılmalıdır; bu da performansta düşüşe neden olur. Örneğin Event.ENTER_FRAME olayını dinlerken olay işleyicisi için her karede yeni bir event nesnesi oluşturulur. Özellikle görüntüleme nesneleri için, görüntüleme listesi karmaşıksa zor olabilen olayı dıştan içe ve içten dışa tetikleme aşamaları nedeniyle performans yavaş olabilir.