原创 【讀書筆記】 Android 應用程序的安裝和顯示過程

這是羅昇陽的《Android 系統源代碼情景分析》一書中第16章,Android 應用程序的安裝和顯示過程,一章的摘要。 一、應用程序的安裝過程 PackageManagerService 安裝一個應用程序中,主要完成兩件事: 1、解析

原创 Java 虛擬機(一):Java 字節碼

Java 字節碼是 JVM 裏面指令的型式, Java 的源碼經過 Java 編譯器會形成 Java 字節碼,這的字節碼才能在 Java 虛擬機中運行。 一、棧基架構 一個虛擬機有基於棧虛擬機(Stack based Virtu

原创 Android 動態鏈接庫 So 的加載

前言 最近在做 Android 項目的時候,需要在 NativeActivity 中動態加載 so 。運行的時候,拋出了異常 Caused by: java.lang.IllegalArgumentException: Una

原创 CountDownLatch ,CyclicBarrier 和 Semphore

閉鎖 CountDownLatch 和 循環柵欄 CyclicBarrier 都是同步工具類。   所有的同步工具類包含一些特定的結構化屬性: 它們封裝了一些狀態,這些狀態將決定執行同步工具類的線程是繼續執行還是等待,此外還提供了一些方法

原创 【讀書筆記】Android 應用程序進程的啓動過程

這是羅昇陽《Android 系統源代碼》一書中第12章,Android 應用程序進程的啓動過程,的摘要;   當 ActivityMangerService 啓動一個應用程序組件時,如果發現這個組件所需要的進程沒有啓動,就會請求 Zygo

原创 【讀書筆記】【Android 開發藝術探索】第 9 章 四大組件的工作過程

一、Activity 的工作過程 以應用的角度出發,Activity 分兩類 根 Activity: 根 Activity 一快捷圖標的形式顯示在應用程序啓動器中,它的啓動過程代表了一個 Android 應用程序的啓動過程。 子 Acti

原创 【讀書筆記】【Android 開發藝術探索】第 2 章 IPC 機制

一、基礎知識 1.一些概念 IPC : Inter-process Communication 跨進程通信,是指兩個進程之間進行數據交換的過程。 線程:線程是 CPU 調度的最小單元,同時線程是一種有限的系統資源。 進程:一般是指一個執行

原创 Bound Service

一、Creating a Bound Service provides IBinder 1.Extending the Binder class Service is private to your own applications an

原创 軟件設計原則(一): 依賴倒置原則

如何不依賴代碼卻可以複用它的功能 在軟件設計中爲了建立清晰的軟件分層關係,引入了軟件分層設計,也是便於高層業務模塊依賴低層模塊。在一般的應用軟件中,策略層會依賴方法層,業務邏輯層會依賴數據存儲層。 圖1 這是我們正常的軟件設

原创 使用 TouchDelegate 擴大控件的點擊範圍

轉載請註明出處 http://blog.csdn.net/yxhuang2008/article/details/51126009 當我們的控件太小,導致我們無法準確的點擊,這個時候我們可以在這個控件外面再加一層佈局,但是這樣對性能不太

原创 【讀書筆記】Zygote 和 System 進程的啓動過程

· 這是《Android 系統源代碼情景分析》 一書中第 11 章, Zygote 和 System 進程的啓動過程,的讀書摘要; 一、Zygote 進程的過程 Zygote 進程是由 Android 系統的第一個進程腳本 init 啓

原创 State 狀態模式在 Android 多彈窗的應用

序言 最近項目的首頁彈窗進行調整,要加幾個彈窗,而且還是要按順序彈出的。原來的只有懸浮窗權限彈窗和存儲權限彈窗,用一兩個標誌位就可以解決了。現在加了隱私協議彈窗和青少年模式彈窗,變成了四個彈窗,如果還是按照原來的方法,即加標誌位解

原创 Android 中使用 APT

APT(Annotation Processing Tool)註解處理器,是一種處理註解的工具。 APT 在編譯時期掃描源代碼中的註解,開發中根據註解,利用 APT 自動生成 Java 代碼,減少冗餘代碼和手動的代碼輸入,提高編碼

原创 極客時間《軟件工程之美》學完感

最近花了將進兩個多月的時間,把極客時間上的專欄《軟件工程之美》專欄學完了,同時也把相應的配套書本 ,鄒欣的《構建之法》,讀完了。學完這個專欄,讓我獲益良多。   專欄《軟件工程之美》和配套的書本《構建之法》,適合已經有編碼經驗工作了三四年

原创 Android 中使用 Aspectj 限制快速點擊

Android 中使用 Aspectj 限制快速點擊 在AspectJ 在 Android 中的使用中,介紹了 Aspectj 的基本知識及其在 Android 中的基本使用,在這篇將會介紹如何使用 Aspectj 在 Andro