Android系統不睡眠的常規檢測

來源:互聯網
上載者:User

最近在調試展訊android平台一個手機項目,發現手機不能進入待機狀態,功耗偏高,

1. 在待機的時候抓取系統的待機狀態下的kernel log 也就是/proc/kmsg檔案
最好使用T卡抓log或者將kmsg檔案重新導向到手機內建隨身碟空間中,等待機時間夠了之後將該log從手機中取出進行分析

2. 系統沒有進入低功耗的睡眠狀態,大部分都是因為存在wakeup irq 頻繁起來導致

在kernel中pm_debug.c中 void inc_irq(int irq)會列印出喚醒系統的irq, log 關鍵字為 “wakeup irq =”

3. 通過對kernel log 即kmsg中進行有關鍵字“wakeup irq =”搜尋

發現irq=142頻繁出現,如何能夠知道該irq對應的應用屬於,可以通過手機中/proc/interrupts檔案找到對應的irq對應的處理函數

“142: 1528 irq-d-gpio taos_irq“

後來發現taos的驅動有問題,更改之後待機功耗正常



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.