Domanda

Solo curioso. Quando l'utente tocca lo schermo in un applicazione per iPhone, come fa il sistema operativo gestisce l'evento di tocco? Fa il blocco di codice corrente (funzione / metodo) finitura, e poi l'evento di tocco viene gestito? O il sistema operativo di interruzione qualunque codice può essere in esecuzione per gestire l'evento di tocco?

Grazie!

Sunny

È stato utile?

Soluzione

tocchi per lo schermo causa il sistema operativo per generare eventi di tocco per la tua app. Tutti gli eventi vengono gestiti nel thread principale (lo stesso filo che esegue il codice) che viene implementato come un ciclo. Il sistema operativo non lo fa interrompere il codice per gestire un evento; tutti gli eventi vengono gestite al prossimo passo del ciclo di eventi.

Altri suggerimenti

Se la funzione / metodo corrente è in esecuzione nel thread principale, allora qualsiasi gestore di tocco evento non può essere chiamato solo dopo la corrente ritorna di routine (per il ciclo di esecuzione). Se la funzione / metodo corrente non è in esecuzione nel thread principale dell'interfaccia utente, quindi il codice potrebbe essere interrotto per eseguire il gestore di tocco eventi.

Sui dispositivi attuali, eventi touch sembrano essere quantizzato al frame rate di 60 Hz, circa ogni 16 ms, quindi un contatto fisico non può essere registrato come un evento fino a quando fino a che il tempo può aver superato, e nessun gestore saranno chiamato fino a dopo l'evento viene registrato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top