推 Blueshiva: 你一直跑一個不會停止的迴圈,當然CPU狂衝啊...用 08/04 14:45
→ Blueshiva: NSTimer做吧 08/04 14:45
謝謝回應,但是主要測試程式必須用迴圈去跑...設置要跑一個晚上看機器結果
會有停止的迴圈但是時間很長,請問這樣也能用NSTimer去撰寫嗎?謝謝!
※ 編輯: aureolus (60.248.134.2), 08/04/2016 15:10:53
推 Blueshiva: 你另外開的這個thread除了計算目前時間跟開始測試的時 08/04 15:33
→ Blueshiva: 間差外,沒看到任何計算,這種需求完全不需要用迴圈去 08/04 15:34
→ Blueshiva: 跑吧... 08/04 15:34
謝謝,時間只是其中一個部分,主要測試有非常多測試Function,
比方說連接USB port..連接訊號 斷開訊號送出...GPIB指令等等
測試會依照使用者設定LOOP多次設置產生LOG這樣,剛剛我將時間用NSTIMER
成功解決了這個問題非常感謝,但是主要測試程序目前看起來只能用執行緒去跑
爬了許多文章有看到NSThread下自動釋放池在迴圈中好像是無效的...持續研究中 謝謝!
※ 編輯: aureolus (60.248.134.2), 08/04/2016 15:49:00
推 songooo: 如果說做完一些動作後讓他睡個一秒呢 08/04 18:20
→ songooo: [NSThread sleepForTimeInterval:1]; 08/04 18:21
→ Esvent: Update UI的動作建議一定要在main thread做 08/04 22:35
→ Esvent: 你這支程式如果把update timelabel那行dispatch到主線程去 08/04 22:36
→ Esvent: 記憶體的上升速度就會明顯下降很多 08/04 22:37
→ Esvent: 然後迴圈最好設個最小執行時間 執行時間小於該時間就sleep 08/04 22:40
→ Esvent: 如果以會update UI的迴圈來說的話 就是1/60秒 08/04 22:41
→ Esvent: 更新的比螢幕更新頻率還快的話也是看不到 沒什麼意義 08/04 22:44
非常感謝兩位的幫忙,Update UI要用dispatch我有深刻體驗了...非常感謝建議
加入後整個UI記憶體使用量下降非常多,現在都能控制整體在30~50m之間
睡個一秒這個我也試過了,但是對測試時間來說加太多反而會不能達到預期結果
CPU跟記憶體目前有明顯改善有下降了,不過還是會隨著程式跑越久迴圈疊加越多
這點還在持續研究記憶體洩漏的問題,感謝各位大力協助!
※ 編輯: aureolus (60.248.134.2), 08/05/2016 14:41:02