原创 android 休眠喚醒機制分析(一) — wake_lock
Android的休眠喚醒主要基於wake_lock機制,只要系統中存在任一有效的wake_lock,系統就不能進入深度休眠,但可以進行設備的淺度休眠操作。wake_lock一般在關閉lcd、tp但系統仍然需要正常運行的情況下使用,比如
原创 Android 鎖屏(開機/超時/Power鍵)解鎖
完全去掉android的屏幕鎖 修改keyguardmediator.java 將這個改稱false private boolean mExternallyEnabled = false; 再在powermanagerservice.ja
原创 訪問Android硬件資源の管理網絡和Wifi連接
(1)ConnectivityManager 在Android中,ConnectivityManager類代表網絡連接服務,它被用來監控網絡連接狀態,配置失效重連,並控制網絡天線等。獲取Connectivity Manager實例的方
原创 android 休眠喚醒機制分析(三) — suspend
前面我們分析了休眠的第一個階段即淺度休眠,現在我們繼續看休眠的第二個階段 — 深度休眠。在深度休眠的過程中系統會首先凍結所有可以凍結的進程,然後依次掛起所有設備的電源,掛起順序與設備註冊的順序相反,這樣保證了設備之間電源的依賴性;直至
原创 PowerManagerService淺析
一、前言 PowerManagerService服務是Android系統的上層的電源管理服務,主要負責系統待機、屏幕背光、按鍵背光、鍵盤背光以及用戶事件的處理。通過鎖的申請與釋放以及默認的待機時間來控制系統的待機狀態;通
原创 Android Wifi的工作流程
Wifi 網卡狀態 1. WIFI_STATE_DISABLED: WIFI網卡不可用 2. WIFI_STATE_DISABLING: WIFI正在關閉 3. WIFI_STATE_ENABLED:WIFI網卡
原创 android 休眠喚醒機制分析(二) — early_suspend
early_suspend是Android休眠流程的第一階段即淺度休眠,不會受到wake_lock的阻止,一般用於關閉lcd、tp等設備爲運行的應用節約電能。Android的PowerManagerService會根據用戶的操作情況調整電
原创 AtomicInteger的用法
J2SE 5.0提供了一組atomic class來幫助我們簡化同步處理。基本工作原理是使用了同步synchronized的方法實現了對一個long, integer, 對象的增、減、賦值(更新)操作. 比如對於++運算符AtomicI
原创 Android JNI使用方法,JNI機制詳解
原文地址:http://blog.csdn.net/kaixinbingju/article/details/8635176 JNI的出現使得開發者既可以利用Java語言跨平臺、類庫豐 富、開發便捷等特點,又可以利用Native語言的
原创 Android系統Binder機制之三(服務代理對象 下篇)
上文《Android系統的Binder機制之二——服務代理對象(1)》我們學習了進程的C/C++層面的服務代理對象BpBinder,和Binder底層處理方式。本文我們將深入分析一下在進程的Java層面服務代理對象的創建和使用。 一
原创 移植exfat修改vold使Android4.4.2自動掛載exfat格式的U盤(支持插過蘋果電腦exfat格式的U盤)
由於原來Android4.4.2的SDK不支持插過蘋果電腦exfat格式的U盤,原因是exfat版本太低,所以要移植最新版本的exfat纔可以。最新版本的exfat源碼地址:(exfat)點擊打開鏈接移植exfat需要依賴libfuse,
原创 Ubuntu 14.04 LTS編譯Android4.4源代碼以及運行emulator虛擬機
========================================== 一:環境初始化 ========================================== 1. 安裝Oracle JDK 注意:如
原创 Ubuntu Linux下安裝Oracle JDK
文章轉自:http://blog.csdn.net/gobitan/article/details/24322561 Ubuntu Linux下安裝Oracle JDK 說明:由於很多系統不支持使用OpenJDK,因此在
原创 打包system.img成HIT archive data格式的包
有些人看了上一篇的解包過程後問到關於HIT archive data格式的打包方法,之前沒有寫打包的方法,現在附上。 其實方法沒有解包那麼麻煩。 如下: 1. mkfs.ubifs -v -r /mnt/system/ -m 4096