Probabilmente qualcosa di insignificante, ma sto cercando di abilitare l'accelerazione hardware in un'app di targeting 3.1, per this tutorial.Accelerazione hardware non abilitata
Ho aggiunto il seguente al mio manifesto:
<uses-sdk
android:targetSdkVersion="12"
android:minSdkVersion="12" />
<application
...
android:hardwareAccelerated="true">
Quando controllo dello stato di accelerazione hardware, dopo la vista è attaccato (chiamando isHardwareAccelerated()
in un sovrascritto onAttachedToWindow()
) Io torno vero, così tutto sembra fantastico. Il problema è che la tela di SurfaceView NON viene accelerata, poiché canvas.isHardwareAccelerated()
restituisce false. Sto verificando in surfaceCreated()
e anch'io divento vero anche lì, quindi non ho idea di come la tela abbia perso questa impostazione.
Eventuali suggerimenti?
Edit1:
Trovato this e this sul gruppo Google Developers, ma sto davvero Controlli da eseguire View è collegato se sto controllando questo onAttachedToWindow()
, giusto? Questo è su un Tablet Lenovo con 3,1 BTW.
EDIT2:
Ho provato disabilitando l'accelerazione tramite l'impostazione
<application
...
android:hardwareAccelerated="false">
E ancora sto vedendo vero tornato dalla View in onAttachedToWindow()
, quindi qualcosa non è proprio qui. Non sto cambiando esplicitamente hw accel dal codice, forse un problema specifico del dispositivo?
Inoltre, sto vedendo la seguente linea sporadicamente in LogCat quando viene creato il SurfaceView:
surface (identity=524) is invalid, err=-19 (No such device)
Edit3:
solo pensando ad alta voce qui, ma c'è qualche possibilità che la tela non è essere accelerato a causa del fatto che si trova sul proprio thread, tramite la tipica implementazione di SurfaceView che utilizza un ciclo di disegno, come Lunar Lander?