我想知道是否有一些規則或提示如何在編碼時直接防止電池消耗。我知道可能有一些編碼方式可以最大限度地減少處理器的工作量或防止泄漏。然而,除了像位置服務和互聯網連接這樣的常見嫌疑犯之外,是否有人有像導遊或類似「清單」的東西?電池安全編碼
電池安全編碼
回答
我假設你是指你的應用程序。根據我的經驗,能源的主要消費者,其中#1是最重要的:
- CPU使用率
- 4G
- 無線
- 藍牙
- 內存
無論4G或WiFi更糟糕取決於您的使用情況,例如無論您是通過蜂窩網絡與惡劣的信號通話還是通過WiFi傳輸視頻。 GPS取決於您是否使用它。如果您正在逐個轉向,它會將您的手機變成一個小型加熱器,並很快耗盡您的電池。
最小化4G,WiFi和藍牙的使用非常簡單。我不確定有可能以任何實際的方式減少內存使用的能量。
CPU使用率是最大的潛在能源豬,因爲它可以持續吸收電子。值得慶幸的是,現代處理器在無所事事時即關閉,即空轉。這稱爲放入空閒/ C狀態。你可以猜到,手機在大部分時間裏都沒有做任何事情。
有幾種方法可以編寫程序以最大限度地減少CPU能耗。實際上,更好的說法是,您可以通過編寫錯誤的程序來挫敗這些節能功能。如果CPU進入休眠狀態以降低功耗,那麼喚醒CPU會增加能耗。另一個要考慮的因素是CPU睡了多久。處理器閒置的時間越長,它可以進入的睡眠狀態越深,睡眠狀態越深,功耗越低。
那麼你需要做什麼來最大限度地減少CPU使用率?你想少用CPU,或者換一種說法,讓你的程序完成任何更快的操作。此外,增加程序閒置的時間長度。
現在讓我們來看看一些具體的事情可以做:
讓你的程序做任何它做盡可能快。通過找到最快的算法並以最有效的方式實現它。換句話說,就是優化。
最小化檢查事件。您檢查事件是否發生的次數越多,喚醒處理器的次數就越多,可以進入深度睡眠狀態的可能性就越小。通過確定在保持性能的同時必須檢查某個事件的最大時間間隔來做到這一點。
謝謝你有這個時間。其實我已經知道4G/WiFi或循環。而CPU使用率正是我在「編碼」時的意思。在使用循環或開關/案例(例如)的決定中,我還想考慮我的決定的能耗。此外,在改善內存使用情況下「代碼重新設計」的情況下,我也想關心電池。但你的提示是一個很好的開始。非常感謝 :) – Corona 2015-02-27 11:20:30
- 1. ocaml電池安裝
- 2. XML編碼安全嗎?
- 3. XML Unicode安全編碼
- 4. 類型安全編碼
- 5. 密碼生成無安全編碼的URL安全密文
- 6. 安卓電池電量檢測問題
- 7. 春季安全無密碼編碼
- 8. 這種編碼線程是否安全,死鎖安全?
- 9. 爲非線程安全代碼構建工作線程池
- 10. 如何編寫密碼安全的類?
- 11. Base64編碼對文件名安全嗎?
- 12. 爲安全性編碼PHP標籤?
- 13. Coldfusion的安全層次編碼風格
- 14. 安全的C++編碼實踐
- 15. URL編碼,安全分隔符
- 16. JWT編碼如何實現安全性?
- 17. 二進制編碼+傳輸安全(WCF)
- 18. 如何編譯C#不安全代碼
- 19. Spotify安卓SDK with Doze電池優化
- 20. 線程池堆棧安全問題
- 21. postgresql pg.Pool連接池憑據的安全
- 22. PHP編譯器編碼的代碼安全性如何?
- 23. Android電池電量
- 24. 電梯和類型安全
- 25. 裝載電池
- 26. 串聯電池
- 27. PHP代碼安全
- 28. Java代碼,安全
- 29. 卡片安全碼
- 30. 計算電池剩餘時間直到電池放電?
我寫了一些東西。我會把它挖出來併發布。 – 2015-02-24 18:34:42
請澄清你想要的。你說,「編碼時直接防止電池消耗」,似乎表示你想在編譯或調試設備上的代碼時儘量減少漏電。「編碼方式」意味着你想知道如何最小化你編碼/創建的應用程序的電量消耗。你問哪個? – 2015-02-24 18:44:24
似乎很清楚,OP意味着後者。 – 2015-02-24 20:26:24