簡體   English   中英

計時器在模擬設備iOS上運行更快?

[英]timer runs quicker on simulation device iOS?

我有一個計時器應用程序。 在Mac模擬器上可以正常工作。 但是當我下載到我的iPhone 6s進行設備仿真時。 計時器實際上比正常運行速度快,比正常運行速度快兩倍。 這里有什么問題?

timer = NSTimer.scheduledTimerWithTimeInterval(0.01,目標:自我,選擇器:“結果”,userInfo:無,重復:true)

那么0.01表示1/100秒還是1/60秒? 那使我感到困惑。

無論如何,計算機中的計時器在短時間內都不是100%准確的

請牢記以下幾點:

1-

您有一個計時器,它將每秒大約執行100次(間隔為0.01)。

2-

NSTimer不夠准確,您可能不會讓它每1毫秒工作一次。

3-

它是從運行循環中觸發的,因此存在延遲和抖動。

另請注意,您的計時器非常不准確。 計時器不會精確地每百分之一秒重復一次。 每秒只能運行80次,或有其他不精確的速率。

嘗試使用GCD通話。

dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, <#dispatchQueue#>);
dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, <#intervalInSeconds#> * NSEC_PER_SEC, <#leewayInSeconds#> * NSEC_PER_SEC);
dispatch_source_set_event_handler(timer, ^{
    <#code to be executed when timer fires#>
});
dispatch_resume(timer);

如果需要查找器粒度,可以在此處指定計時器間隔(以納秒為單位)。 但是,正如另一條評論所述,由於設備的各種因素,很難獲得准確的回調率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM