2015-06-26 12 views
5

Non ho bisogno del numero esatto, la percentuale sarebbe sufficiente. Ad esempio, se sviluppo un'applicazione con versione SDK di 4.0 minuti - come posso assicurare che il contesto venga preservato? Può dipendere dalla versione opengl-es?Quanti dispositivi Android supportano GLSurfaceView.setPreserveEGLContextOnPause oggi?

Ho cercato di trovare informazioni sui chip con contesto egl limitato ma non ne ho trovato.

La ragione per cui ho bisogno di sapere - Non voglio implementare un sottosistema di cache speciale che ricaricherà le mie trame dopo che l'app è ripresa. Sono pronto a rilasciare alcuni dispositivi che supportano (se meno del 5-7%)

risposta

3

Sembra che OpenGL-ES 2.0 e inoltro consentano tutti più contesti EGL. Questo è ciò che assume il metodo GLSurfaceView.GLThreadManager.checkGLESVersion(). E se non si ha più contesto non è necessario chiudere EGL durante la pausa, né rilasciare il contesto EGL durante la pausa.

Inoltre, dal codice sorgente GLSurfaceView.GLThreadManager (intorno alla linea 1908), abbiamo il seguente commento, subito dopo il metodo checkGLESVersion():

This check was required for some pre-Android-3.0 hardware. 
Android 3.0 provides support for hardware-accelerated views, 
therefore multiple EGL contexts are supported on all Android 3.0+ EGL drivers. 

Vedi i dettagli a Grepcode GLSurfaceView.GLThreadManager

0

poiché la funzione API è di livello 11, quindi Honeycomb. il 94,0% dei dispositivi in ​​base al sito Android Android Platform versions

+0

So che questo metodo è apparso nel livello API 11 e posso chiamarlo. Destra. Ma secondo i documenti "Se impostato su true, il contesto EGL ** può ** essere conservato" Quindi "può" significa che non vi è alcuna garanzia. Ho sbagliato? –

Problemi correlati