原创 Binder 通訊數據流概覽

The information below comes from a number of sources, including my own experiments with the Android IPC and some d

原创 淺析 android 應用界面的展現流程(一)週期函數

淺析 android 應用界面的展現流程(一)週期函數 “做了那麼久的 Android APP 開發(從上學期間到目前爲止間斷的做了也有1年多了,還有一年多在玩 SSH、VC),也見過了那麼多形形色色的界面設計,也做過不少 UI 上

原创 ActivityManagerService的啓動和對Activity的管理

  ActivityManagerService的啓動和對Activity的管理 本文主要介紹android4.4中ActivityManagerService的啓動和ActivityManagerService對Activ

原创 When and how to use a ThreadLocal

As our readers might already have guessed, I deal with memory leaks on a daily basis. A particular type of the OutOfM

原创 Android Binder 分析——多線程支持

前面普通服務篇那裏說到 ActivityManager(AM) 裏鎖的問題,其實不光 AM,WindowManager(WM)、PackageMananger(PM)中基本上很多對外的業務函數裏面都是加鎖的,所以這些 SS 裏面有會有帶

原创 Android 啓動過程分析--筆記縮減

Android應用程序框架層創建的應用程序進程具有兩個特點,一是進程的入口函數是ActivityThread.main,二是進程天然支持Binder進程間通信機制;這兩個特點都是在進程的初始化過程中實現的,本文將詳細分析Android應用

原创 任務、進程和線程

任務、進程和線程 關於Android中的組件和應用,之前涉及,大都是靜態的概念。而當一個應用運行起來,就難免會需要關心進程、線程這樣的概念。在Android中,組件的動態運行,有一個最與衆不同的概念,就是Task,翻譯成任務,應該還

原创 深入Android 【一】 —— 序及開篇

序 攜來百侶曾遊,憶往昔崢嶸歲月稠。 -- 《沁園春·長沙》 對於Android,我也算是老人了,所謂,有文有真想。正由於這段玩票經歷,使得我在畢業後,鬼使神差的成爲移動平臺的一名碼工,再次有機會放肆的擁抱Android。 201

原创 如何分析Android APP 內存大小

Because Android is designed for mobile devices, you should always be careful about how much random-access memory (RA

原创 深入Android 【六】 —— 界面構造

界面構造 UI界面,對於每個應用而言,是它與用戶進行交互的門臉。好的門臉,不只是是要亮麗可人,最好還能秀色可餐過目不忘,甚至還應該有涵養有氣質,彬彬有理溫柔耐心。 對於開發者來說,鍛造這樣的面容,不但需要高超的技藝,也需要有稱手的工具

原创 安卓主線程之旅

不管是C++程序還是Java程序,都會有程序的入口,所有的Java應用程序都是從public static void main 開始,同樣Android程序也有同樣入口。 public class JavaStart{ public

原创 如何避免Android 內存泄露

Android的應用程序,至少在T-Mobile的G1 ,限制爲16 MB堆。這對手機來說是很多的內存,然而對開發者來說卻很少。即使你不想使用這麼多內存,但是你應該儘可能少的使用這些內存。越多的應用程序常駐內存,在應用程序之間切換越快。

原创 ActivityThead ActivityManagerService 和activity關係概述

Activity 是安卓中最重要的一個元素,安卓如果管理activity? 進程中的主線程如何建立?關於這幾個問題我們將簡要概述,不會展示太多的代碼。 首先來看一下進程的入口函數:ActivityThead,從應用程序的角度,所有的a

原创 深入Android【七】 —— 資源文件

深入Android【七】 —— 資源文件 資源文件 作爲一枚coder,做界面,很多時候都是一場夢魘。很多時候,我們會感覺對於底層邏輯實現的很有把握性,哪怕需求一直在變,也可以通過不斷的重構一直跟進,一切盡在掌握。但遭遇界面,往往