Sto eseguendo il rendering di oggetti tramite OpenGL e ottenuto un buon framerate liscio di 60 fps nella maggior parte delle situazioni. UNTIL Faccio qualcosa di pesante in un thread in background, come prelevare materiale da un'API REST, elaborarlo e aggiungere oggetti al grafico (cose a bassa priorità, mi interessa di più della fluidità dell'interfaccia utente). Il renderer si fermerà quindi per un periodo molto lungo, fino a 1 secondo (all'incirca finché viene eseguito il thread in background), quindi riprenderà come se nulla fosse accaduto. L'ho notato perché è stata avviata un'animazione allo stesso tempo e rimane bloccata per questo periodo. Il thread in background è impostato su priorità minima e la garbage collection richiede fino a 100-200 ms, ma non tutto il secondo. Quando imposto un punto di debug in qualsiasi punto dell'attività di background, il rendering continua perfettamente, senza ritardi.Android: pause di rendering OpenGL quando attività in background pesante in esecuzione
È possibile che il mio thread in background pesante abbia fame nel thread OpenGL? Se sì, cosa posso fare?
Quale GPU stai testando? –
Sembra sospettosamente come [questa traccia delle prestazioni] (http://stackoverflow.com/q/9612959/1262542) ... –
Non so che GPU, è un Galaxy Nexus. Vado a testarlo sul simulatore quando torno a casa. – manmal