Domanda

mi chiedevo se, ogni volta che ho una situazione in cui devo nascondere temporaneamente qualche elemento dell'interfaccia utente, è sufficiente per nasconderlo (molti quadri danno questa opzione) o io dovrebbe eliminare l'oggetto in memoria e ricrearlo più tardi, quando necessario di nuovo (con gli stessi parametri).

Quali sono i pro ei contro di ogni soluzione? Stavo pensando che forse nascondendo l'elemento Salva informazioni di stato che possono essere importanti, e si risparmia anche il tempo di assegnazione, quindi forse è il modo migliore per gli elementi che devono essere nascosti per un breve periodo di tempo. Ma cosa succede se il tempo diventa più grande? Vorrei quindi avere un oggetto non necessario in memoria per tutto il tempo.

Un esempio, per dare un quadro chiaro di ciò di cui sto parlando, sarebbe una barra degli strumenti che cambia i pulsanti sulla base di qualche cambiamento di contesto. Cioè, normalmente vi sono alcuni pulsanti attaccati alla barra ma quando l'utente seleziona un'azione in qualche altra parte dell'interfaccia, tali tasti devono essere sostituiti con altri nuovi (uno dei quali è il pulsante "DONE"). Allo stesso modo, quando l'utente seleziona il pulsante "Done" nella barra degli strumenti, si torna allo stato iniziale.

Non so se questa è una domanda stupida e forse potrebbe essere che sto facendo qualcosa di simile ottimizzazione prematura ... ma sarò grato per tutte le vostre risposte.

È stato utile?

Soluzione

Credo che la regola generale del pollice è che gli elementi che si prevede di reshow, dovrebbe essere nascosto; altrimenti distrutta (alcune eccezioni si applicano, ovviamente). Quando / se questo diventa fattibile, si potrebbe prendere in considerazione ulteriori ottimizzazioni.

Altri suggerimenti

E 'una domanda molto buona. Ecco cosa mi viene in mente:

  • Supponiamo (solo per amor di discussione) hai un sacco di forme diverse che possono essere visualizzate nello stesso spazio. Poi, se si crea / distruggere i controlli, si sta solo pagando in qualsiasi momento per i controlli che l'utente può vedere. D'altra parte, se si Mostra / Nascondi controlli, si sta pagando tutto il tempo per il gran numero di controlli che l'utente non sta guardando (e non può mai guardare). Così ho sempre creare / distruggere. (In realtà io continuo precedentemente utilizzati controlli nelle piscine, quindi non sono in realtà ri-crearli.)

  • Molte persone memorizzano stato utente nei controlli dell'interfaccia utente, ma personalmente odio che e non ho mai farlo. Penso che se qualche informazione è bene ricordare appartiene nella struttura dati delle applicazioni. Questo significa ovviamente che i controlli della forma visibile corrente devono essere "legata" o corrente mantenuto con la struttura dati dell'applicazione. Mi basta assicurarsi che posso fare che non importa quale.

Ho dovuto essere inventiva per realizzare questi in modo che il codice dell'applicazione semplifica, e come risultato il metodo che uso non è ben noto, che esige un altro tipo di prezzo.

Non c'è una risposta generale a questa domanda. Dipende dalle restrizioni di tipo di sistema, CPU e RAM, il numero di elementi dell'interfaccia utente in questione, la frequenza con cui l'interfaccia utente sta per essere mostrato / ricreato, ecc Forse, se si potesse dare un esempio potremmo essere in grado di darvi più concisa feedback.

oggetti JavaScript non sono come Windows (GDI) oggetti: di solito non hanno la volontà di inviare / ricevere messaggi - quasi passivi. Ci vuole meno codice per nascondere, giusto? Forse dipende dalla quantità totale di oggetti interattivi per ogni sessione utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top