2012-08-22 3 views
7

Sto iniziando a lavorare con Sencha Touch 2 e mi sono chiesto come gestisce (anche se) le operazioni di pulizia delle risorse.Come funziona Sencha Touch 2 risorse di pulizia

In particolare:

  • immaginare abbiamo un gruppo di controllori, che sono innescato da url reindirizza. Le istanze di Controller saranno memorizzate nella cache o Sencha creerà istanze nuove ogni volta che è necessario richiamare un metodo su un controller

  • Uguale per visualizzazioni. Sencha visualizza le cache o le ricrea ogni volta che è necessario renderle di nuovo. Quando esattamente le visualizzazioni vengono distrutte (se lo sono)?

  • posso ottenere il controllo su come sencha gestisce queste cose?

risposta

11

per rispondere alle vostre domande,

  1. sola istanza di ogni controller è stato creato da Sencha. Quindi, penso davvero che non devi preoccuparti delle istanze del controller. Lascia che Sencha lo gestisca.

  2. La pulizia deve essere effettivamente eseguita con le viste perché il numero di viste e la complessità di esse sono strettamente correlate alla prestazione.

Sencha non lo fa la pulizia delle sue risorse specificamente - lo sviluppatore deve prendersi cura della pulizia DOM esplicitamente (a parte proprio meccanismo di garbage collection di Javascript). Quindi, lo sviluppatore deve decidere quando creare una vista, se mantenerla nel DOM per uso futuro o distruggerla non appena è nascosta. Faccio alcuni esempi:

A.

Supponiamo su clic su un pulsante, si apre un pop-up utente INFORMAZIONI che mostra alcune informazioni sulla pagina. Una volta che l'utente ha letto le informazioni, lui chiude il popup. Ora, dal punto di vista dell'utente, potrebbe esserci una piccola possibilità che l'utente riaprirà il popup. Quindi, il migliore sarà se il popup viene rimosso dal DOM non appena l'utente lo chiude. Comunque, se l'utente vuole riaprirlo, ricrea il popup e mostra esso.

B.

utente Allo stesso modo si supponga che è nella pagina di accesso e l'accesso all'applicazione . Gli utenti difficilmente tornano alla pagina di accesso mentre si trovano all'interno dell'app . Quindi, distruggi il login Visualizza istanza una volta nascosta.

Quindi, questi sono alcuni scenari in cui le viste possono essere rimosse esplicitamente quando necessario.Qui di seguito sono alcuni riferimenti che dà una buona idea circa l'ottimizzazione della memoria con Sencha:

una) Sencha Touch: Optimizing Memory Usage

b) http://www.slideshare.net/senchainc/optimizing-performance

+0

Grande risposta. Ancora non riesco a credere che ho dovuto iniziare una taglia per battere soneone in una risposta :-) Ho notato che c'è un'estensione chiamata http://deftjs.org che gestisce le cose in modo un po 'diverso come sembra – Christoph

+0

:) Felice di sapere che ha aiutato. Avrei risposto prima se l'avessi visto! – Swar