只是好奇。当用户在iPhone应用中触摸屏幕时,操作系统如何处理触摸事件?当前的代码块(函数/方法)是否完成,然后处理触摸事件?还是操作系统中断任何代码可能会运行以处理触摸事件的任何代码?

谢谢!

阳光明媚

有帮助吗?

解决方案

触摸屏幕会导致操作系统为您的应用程序生成触摸事件。所有事件均在主线程(运行代码的相同线程)中处理,该线程像循环一样实现。操作系统不会中断您的代码来处理事件;在事件循环的下一个通过时,所有活动都将处理。

其他提示

如果当前函数/方法在主线程中运行,则直到当前例程返回(运行循环)之后,任何触摸事件处理程序都不会调用。如果当前函数/方法未在主UI线程中运行,则可以中断代码以运行触摸事件处理程序。

在当前的设备上,触摸事件似乎已量化为60 Hz帧速率,大约每16毫秒,因此可能不会将物理触摸作为事件发布到直到该时间到达时间,并且直到之后才能调用处理程序活动已发布。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top