Cita:
Originalmente Escrito por daicon
Ya... pero digo yo, estaría bien explicar para que sirve esa cache?
Por que para algo bueno tiene que servir?
 DD
Lo has pintado todo muy bien, peeero, con que funcionalidad se hizo esa cache?
Gracias
|
Esa cache existe, precisamente, para mejorar el scroll. Sin embargo, paradójicamente lo empeora. ¿por qué?
Pues por lo siguiente. Esa función tenía mucho sentido en versiones anteriores de Android con teléfonos mucho más lentos. Aunque parece que fue hace mucho, en realidad, los teléfonos con procesadores megarrápidos los tenemos desde hace cuatro días como quien dice. En los teléfonos de hace unos años, las listas con gráficos iban muy lentas. Esta cache lo que hace es guardar en memoria los elementos anteriores y posteriores a lo que se está visualizando en pantalla para que a la hora de moverte por la lista ya estuvieran predibujados y tardara mucho menos en visualizarlo que si tuviera que hacerlo de nuevo.
Sin embargo, los terminales modernos son tan rápidos que pueden dibujar la listview desde cero sin retardos. El problema del scrollingcache es que provoca muchas llamadas al recolector de basura. Estas llamadas interrumpen el flujo de la app hasta que terminan y hace que vaya mas lento, lo que provoca los lags. En los terminales antiguos esto no se notaba porque el redibujado era tan lento que el cache ganaba mucha más velocidad que la que se perdía con el recolector y esa es la causa de que algo diseñado para ser más rápido, al final, acabe siendo más lento.