Compartilhar via


Liberando Recursos de Componentes

Seu componente personalizado do cliente como comportamento, controle, ou componente base pode ter que liberar recursos antes do componente ser destruído.Se sim, você poderá suibstituir o método Sys.Component.dispose e liberar os recursos no método substituído.Isso assegura que os recursos são liberados imediatamente antes do componente ser destruído.Seu componente herda o método dispose de Sys.Component, Sys.UI.Behavior, ou da classe base Sys.UI.Control, dependendo do tipo base do componente.

No método do componente dispose, siga estes passos:

  • Destrua ou reinicialize quaisquer recursos usados pelo componente.

  • Pare qualquer processo que o componente possa internamente colocar na fila, e desabilite qualquer funcionalidade que possa ser chamada pelo consumidor do componente.

  • Chame o método dispose da classe base.

    Observação:

    É útil fornecer uma propriedade pública que indica o status de habilitação do componente e dispara o evento de mudança da propriedade em seu acessador set.Então no método dispose, defina a propriedade para indicar que o componente está desabilitado.Isso habilita o desenvolvedor da página a detectar a disponibilidade do componente.

O exemplo a seguir mostra como substituir o método dispose que está definido no protótipo de uma classe componente.

dispose: function() {
    // Call set_enabled so the property-changed event is raised 
    //  in order to notify any attached listeners.
    this.set_enabled(false);

    // Stop any component processes so that 
    // they are not called after disposal.
    this._stopSimpleComponentProcesses();

    // Call the base dispose method.
    Samples.SimpleComponent.callBaseMethod(this, 'dispose');
}

O componente neste exemplo fornece uma propriedade enabled que está definida como false no método dispose.O método acessador set da propriedade enabled dispara um evento de mudança da propriedade que um desenvolvedor de página pode vincular, o que permite que o desenvolvedor teste a disponibilidade do componente.Esse componente também tem um método privado stopSimpleComponentProcess que é responsável por parar qualquer processo enfileirado que possa ainda disparar um evento tick.Esse método também desabilita a funcionalidade que possa ser chamada pelo consumidor do componente.Como uma última tarefa, o método base dispose é chamado através do acionamento do método herdado Type.callBaseMethod.

Observação:

Todas as classes registradas herdam do método callBaseMethod.Para obter mais informações, consulte Método tipo.callBaseMethod.

Consulte também

Tarefas

Criando Componentes Não Visual de Cliente personalizados

Conceitos

Definindo Propriedades de Componente Personalizadas e Disparando Eventos PropertyChanged