iPhone上的iPhone密集型任务在iPad上较慢

时间:2015-09-15 07:38:37

标签: ios iphone xcode multithreading core-audio

我正在为iOS开发一个具有大量线程的应用程序,其中一个特别是执行大量CPU密集型任务(高级数学运算等)。但在我的测试中,iPad中的CPU使用率(在iPad中测试) 4和iPad Mini 3)低于100%(50-70%),而在iPhone(在iPhone 5S,iPhone 6和iPhone 6 Plus中测试),CPU使用率高达120-140%。如果CPU使用率低于100%,该应用程序运行良好。

特别是,iPhone主要任务开始大约6秒后(其中所有线程都已启动),会发生iPhone使用率的高峰。奇怪的是,如果我按下主页按钮,应用程序将进入后台,CPU使用率将降至首选值。即使我将应用程序放回到前台,CPU使用率水平保持不变,因此应用程序运行良好。

我想知道的是(1)是什么导致iPhone中CPU使用率飙升(以及为什么它不会在iPad中发生),以及(2)是否有办法避免这种峰值(看到CPU使用率)可以通过将应用程序移动到后台来删除。)

附注:  1.该应用程序使用Core Audio框架。  2.现在,我正在使用pthreads。我也尝试过使用GCD和优先级值(DISPATCH_QUEUE_PRIORITY_BACKGROUND和DISPATCH_QUEUE_PRIORITY_LOW),但它会过多地降低CPU使用率,导致线程无法执行太多操作。 3.应用程序的后端有很多C / C ++代码。

任何帮助将不胜感激。 ^ _ ^

0 个答案:

没有答案