2010-11-26 50 views
2

只是好奇。当用户在iPhone应用程序中触摸屏幕时,操作系统如何处理触摸事件?当前的代码块(函数/方法)是否完成,然后处理触摸事件?或者操作系统是否中断处理触摸事件的任何代码?iOS touch事件

谢谢!

阳光

回答

4

倒是屏幕导致操作系统为您的应用程序的触摸事件。所有事件都在主线程(运行你的代码的同一线程)中处理,它像循环一样实现。操作系统不会中断您的代码来处理事件;所有事件都会在事件循环的下一个阶段处理。

0

如果当前函数/方法正在主线程中运行,则在当前例程返回(到运行循环)之前,不会调用任何触摸事件处理程序。如果当前的函数/方法没有在主UI线程中运行,那么代码可能会被中断以运行触摸事件处理程序。

在目前的设备上,触摸事件似乎被量化为60赫兹的帧速率,大约每16毫秒,所以物理触摸可能不会作为事件发布,直到可能已经过去,并且没有处理程序会直到事件发布后才会被调用。