2013-07-04 8 views
13

Qualunque Android oggi supporta un'area di swap che suppone aumenti le prestazioni?Perché la maggior parte dei dispositivi Android non ha un'area di scambio come fa il sistema operativo tipico?

Quali sono le considerazioni che fanno sì che la maggior parte dei dispositivi Android abbia abbandonato questa funzione?

+0

La tua domanda è troppo vaga e troppo ampia per ottenere una risposta semplice. Se hai qualcosa di specifico da chiedere, ti preghiamo di riformulare la domanda. –

risposta

24

Qualche Android supporta oggi l'area di scambio?

Citando Dianne Hackborn:

Per essere un po 'più specifico, si fa uso di paging, ma non scambiare spazio. Cioè, fa molto affidamento sulla possibilità di file mmap() e di avere la pagina del kernel in dati dal file secondo necessità (e rilasciare quelle pagine quando non è necessario). Tuttavia, non usa lo spazio di scambio per sfogliare pagine sporche.


Con un po 'un po' adattamenti, area di scambio può lavorare con assassino poca memoria di default di Android insieme bene, giusto?

Certamente non lo darei per scontato.

Qualche Android oggi supporta un'area di scambio che suppone aumenti le prestazioni?

Non si suppone che "aumenti le prestazioni".

quali sono le considerazioni che fanno di Android abbandonare questa idea?

In primo luogo, il flash di bordo è lento, molto più lento dei dischi rigidi e degli SSD a cui siete abituati su desktop e notebook. E anche se la qualità della memoria flash utilizzata sui dispositivi Android oggi è migliore di prima, non sta ancora urlando velocemente. Ecco perché, ad esempio, dobbiamo fare particolare attenzione quando eseguo l'I/O del database, per utilizzare le transazioni, per limitare il numero se le operazioni di scrittura del disco.

Secondo, storicamente, il flash di bordo era limitato nello spazio. Non disponevamo di spazio di archiviazione interno sufficiente per le nostre app , per non parlare di dedicare alcune parti per lo scambio.


Se si desidera discutere di questo ulteriore, si prega di utilizzare un forum più appropriato, come http://android.stackexchange.com, come la tua domanda è solo marginalmente correlata allo sviluppo del software.

+0

Bella risposta! Grazie! – JackWM

+1

Bella risposta, ma non sarei d'accordo sul fatto che lo scambio non aumenterebbe le prestazioni. Anche se la memoria di scambio sarebbe lenta, allora non sarebbe più lenta, quindi riavviare le app. E quando la memoria è bassa, l'app viene uccisa. Con l'app uccisa è necessario riavviarla quando si passa ad essa. Dovrebbe essere più veloce se Android usasse lo swap. – Nux

+0

La maggior parte di questo è ancora valida nel 2017? Abbiamo telefoni con 128 GB di spazio di archiviazione e anche lo storage è diventato più veloce. Lo storage è ancora troppo lento per renderlo pratico? Quanto maggiore sarà il miglioramento della velocità per rendere un po 'fattibile lo scambio? – vanshg

5

Android supporta lo scambio ... Non dimenticare che è solo Linux con alcune UI su di esso. :)

Tuttavia il supporto dipende dal kernel in uso .. Quando si utilizza un kernel si dovrebbe sapere se supporta lo spazio di swap o no ..

Se sei bravo nel kernel, poi afferrare la fonte , abilitare il supporto di swap e compilarlo. Garantisco che dovrebbe essere divertente: p

Personalmente il mio kernel supporta lo spazio di swap e io uso un file da 20 MB per fungere da file di scambio.

+0

carino, hai notato alcuni miglioramenti? – JackWM

+0

Hmm. Non molto ... –

+2

Un file di scambio di 20 MB sembra sospetto considerando che i moderni dispositivi di classe media hanno facilmente o superato 512 MB di memoria principale ... dal momento che il punto di swap è la memoria principale * scaricata *, in modo che la memoria sia * disponibile * , per dati usati raramente il rapporto basso non sembra pratico. – user2864740