原创 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