La finestra riduce al minimo l'utilizzo della memoria libera?


13

Sia la finestra ingrandita non visualizzata che la finestra ridotta sono invisibili all'utente finale. Per non visualizzato intendo una finestra ingrandita inattiva coperta dalla finestra attiva.

Esiste tuttavia una differenza --- che diventa evidente nei servizi di cambio di applicazione, come in Compiz: l'aspetto della finestra ingrandita è "noto" a Window Manager (quindi può produrre una miniatura), mentre la finestra ridotta a icona è rappresentata da un'icona solo (l'aspetto / contenuto della finestra non viene calcolato).

Quindi questo significa che la memoria viene liberata quando una finestra è ridotta a icona? Esiste un limite imposto dalla memoria al numero di finestre che una WM può avere massimizzato? Se esiste una tale limitazione, è sostanziale / rilevante?

Immagina un WM che non consente di minimizzare (ma passa semplicemente da una finestra ingrandita all'altra): questo WM imporrebbe notevoli limitazioni all'utente finale a causa dell'utilizzo della memoria?

Grazie per averlo chiarito --- Potrei avere un'idea sbagliata.

Risposte:


10

Ridurre a icona una finestra potrebbe liberare un po 'di memoria, ma dipende dall'applicazione e non sarà molto. In ogni caso, minimizzare non farà più differenza di qualsiasi altra forma di nascondiglio.

Anche se la finestra di un'applicazione è ridotta a icona, è ancora in esecuzione. L'applicazione non dovrà conservare meno dati in memoria solo perché una delle sue finestre è ridotta a icona.

Un'applicazione viene notificata ogni volta che una delle sue finestre viene ridotta a icona o ripristinata. Viene inoltre avvisato ogni volta che parte della sua finestra diventa visibile o nascosta. È possibile, ma improbabile, che l'applicazione reagisca in modo diverso a vari motivi per cui la sua finestra potrebbe essere nascosta:

  • Può essere ridotto a icona, il che significa che la finestra non viene mostrata e al suo posto viene mostrata un'icona.
  • Può essere nascosto dietro altre finestre (inclusa la finestra a schermo intero di uno screensaver).
  • Può essere visualizzato su un desktop, un'area di lavoro, una finestra di visualizzazione diversi o come li chiama il tuo window manager.
  • Può essere nascosto in qualche altro modo, ad esempio "ombreggiato" (significa che viene mostrata solo una barra del titolo) o semplicemente non mappato (il che significa che il gestore delle finestre ha deciso per qualsiasi motivo che la finestra non dovrebbe essere visualizzata).

Se la finestra di un'applicazione è completamente nascosta, l'applicazione non deve aggiornare il contenuto della finestra. Se è necessario allocare memoria per aggiornare quel contenuto, non lo farà mentre la finestra è nascosta. Inoltre, se una finestra è nascosta (per qualsiasi motivo), l'applicazione potrebbe liberare un po 'di memoria all'interno del server X.

Ciò che fa più la differenza nella pratica è che se una finestra non viene visualizzata, l'applicazione non effettua calcoli per ridisegnare i contenuti e quindi i dati necessari per disegnare i contenuti possono essere scambiati. Se la RAM è stretta e c'è una finestra con cui non intendi interagire per un po ', è meglio se la finestra non è mappata. Ancora una volta, il motivo per cui la finestra non è mappata (nascosta dietro gli altri, minimizzata, ombreggiata, ...) non è importante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.