原创 Android6.0 亮屏滅屏流程(DisplayPowerControler、WMS)(二)亮度設置

上一篇博客我們主要分析了在setScreenState中調用PhoneWindowManager的一些流程,在setScreenState中先是調用了DisplayPowerState的setScreenState函數。上篇博客我

原创 Android6.0 WMS(六) WMS動畫管理

Android的應用啓動時,或者切換Activity時都會以動畫的方式顯示前後兩屏的切換過程。動畫的原理很簡單,把一幀一幀的圖像按一定時間間隔顯示出來就完成了。 動畫的繪製需要定時驅動,通常的做法是啓動一個定時消息,每隔一定時間發一

原创 Android6.0 WMS(七) 窗口Z軸位置

 通過前面幾篇文章的學習,我們知道了在Android系統中,無論是普通的Activity窗口,還是特殊的輸入法窗口和壁紙窗口,它們都是被WindowManagerService服務組織在一個窗口堆棧中的,其中,Z軸位置較大的窗口

原创 Android6.0 SurfaceControl分析(二)SurfaceControl和SurfaceFlinger通信

上篇博客我們說到SurfaceControl會調用openTransaction和closeTransaction來一起講所有SurfaceControl的屬性等傳給SurfaceFlinger。我們來看下這個過程。 一、Surfa

原创 Android調試技巧

轉載: http://gityuan.com/2017/07/11/android_debug/ 本文介紹一些Android常見的調試技巧 一. 獲取Trace 調用棧信息(Trace)是分析異常經常使用的,這裏簡單劃分兩類情況: 當

原创 dumpsys命令用法

轉載:http://gityuan.com/2016/05/14/dumpsys-command/  dumpsys命令功能很強大,能dump系統服務的各種狀態,非常有必要熟悉該命令的用法以及含義。 一、 概述 1.1 dumpsys

原创 Android6.0 WMS(十一) WMS窗口動畫生成及播放

上一篇我們我們分析到有VSync信號過來,最後會調用WindowAnimator的animateLocked函數來生成和播放動畫,這篇我們我們主要從這個函數開始分析。 animateLocked函數 當VSync信號過來後在WMS中

原创 移動開發,你還在等服務端接口嗎

轉載:https://www.jianshu.com/p/d403febaad83 前言 開發者都有跨界的情懷,比如Android開發學學iOS項目,iOS開發偶爾寫寫Html,JS之類的。而我原來是服務端開發,現在做了Android。

原创 人人都能組件化

轉載:https://www.jianshu.com/p/81d2e0132a10 首先說明,以上不是標題黨,而是最近的一些感想,或許我覺得看完這篇文章,只要肯花時間,去進一步消化,組件化方案不難,難的就是拆分的過程,容我一一道來!!

原创 AMS之dumpsys篇

轉載:http://gityuan.com/2017/07/04/ams_dumpsys/  基於Android 7.0的源碼分析 一.概述 前面介紹過AMS相關的一些數據結構,每個數據結構有大量的成員變量,爲了查詢當前手機運行時狀態

原创 Activity WMS ViewRootImpl三者關係(Activity創建窗口 按鍵分發等)

今天我們來梳理下Activity ViewRootImpl和WMS三者的關係,這裏面看了網上的博客,也看了一些書,加上自己的總結,寫了這篇博客。 1. Activity 我們先來看Activity,在ActivityThread中的pe

原创 android dumpsys實時查看各service狀態

我們先來看下有哪些service可以看dump 先進入adb shell , dumpsys | grep “DUMP OF SERVICE”就可以看哪些service可以dump dumpsys | grep "DUMP OF SER

原创 android6.0 Activity(五) Activity的測量(Measure)、佈局(Layout)和繪製(Draw)

 原文:http://blog.csdn.net/luoshengyang/article/details/8372924  http://blog.csdn.net/feiduclear_up/article/details/46

原创 android6.0 Activity(三) Activity與WMS通信過程

這篇博客原創是http://blog.csdn.net/luoshengyang/article/details/8275938,只是更新了一部分比較舊的代碼。還有加上自己的理解 Activity在窗口和ViewRootImpl創建後會

原创 WMS簡介 (and5.1)

我們先來看應用和WMS的通信 一、應用到WMS的通道 Activity對象中都有一個類型爲Window的成員變量mWindow,定義如下: public class Activity {....... private Window