原创 Service進階篇(startService)

先附上一張startService工作的流程圖 1.從從Service 的啓動過程ContextWrapper 的startService開始: Context mBase; @Override public Compon

原创 IntentService源碼分析

IntentService繼承了Service並且是一個抽象類,需要創建它的子類才能使用IntentService。它相對Service來說,是一個特殊的Service,它的內部使用HandleThread 來執行服務,任務執行完,Int

原创 JVM、Dalvik、 ART三種虛擬機簡單對比

Dalvik虛擬機存在於Android系統,JVM是java虛擬機,兩者都是虛擬機。 1. Dalvik 基於寄存器,而 JVM 基於棧。基於寄存器的虛擬機對於更大的程序來說,在它們編譯的時候,花費的時間更短。   2.Dalvik執行.

原创 矢量圖片添加動畫 AnimatedVectorDrawable

矢量圖的好處: 1、文件佔用空間小,且矢量圖形文件與分辨率和圖像大小無關,只與圖像的複雜程度有關,圖像文件所佔的存儲空間較小。 2、圖像放大不失真,.即矢量圖可以無級縮放,對圖形進行縮放,旋轉或變形操作時,圖形不會產生鋸齒效果。 Anim

原创 揭露動畫ViewAnimationUtils.createCircularReveal()

當您顯示或隱藏一組 UI 元素時,揭露動畫可爲用戶提供視覺連續性。ViewAnimationUtils.createCircularReveal() 方法讓您能夠爲裁剪區域添加動畫以揭露或隱藏視圖。 應用ViewAnimationUtil

原创 Transition(Activity切換過渡動畫)

Material Design 應用中的操作行爲轉換透過通用元素之間的移動和轉換提供不同狀態之間的視覺連接。 您可爲進入、退出轉換以及操作行爲之間的共享元素轉換指定定製動畫。 活動過渡提供了兩種過渡類型: 1,輸入(進入):進入一個活動

原创 Android studio如何創建一個AIDL文件

1.創建一個工程,在java目錄下的包內創建一個實現了Parcelable的類,比如Person。 2.右鍵創建任意命名的AIDL文件,如Book.AIDL 在main方法下自動生成一個aidl的文件夾,裏邊包含我們命名的.aid

原创 val與var

Kotlin 文件以 .kt 爲後綴。 //val 常量關鍵字,任意文字、長度不限 //給常量一個值,賦值,形式:val 常量名 = 值 val a = 5 val name = "小貝" val π = 3.1415926 //

原创 數字的比較,==與===比較

Kotlin 中沒有基礎數據類型,只有封裝的數字類型,你每定義的一個變量,其實 Kotlin 幫你封裝了一個對象, 這樣可以保證不會出現空指針。數字類型也一樣,所有在比較兩個數字的時候,就有比較數據大小和比較兩個對象是否相同的區別了。

原创 rippleDrawable 觸摸反饋

在5.0以上設備上實現波紋效果,可以通過給View設置background實現。官方已經有兩個已經實現的效果供我們選擇: 1.?android:attr/selectableItemBackground 在5.0以下的設備上沒有波紋效果,

原创 基本數據類型:Byte、Short、Int、Long

Kotlin 的基本數值類型包括 Byte、Short、Int、Long、Float、Double 等。 不同於Java的是,字符不屬於數值類型,是一個獨立的數據類型。Boolean是單獨的一個數值類型. //1.Byte、Short、I

原创 序列化Serializable、Parcelable

1.Serializable Serializable是Java提供的一個序列化接口,它是一個空接口,爲對象提供標準的序列化和反序列化的操作。使用方法簡單,只需要提供一個類似下面的標示即可。 private static final lo

原创 壓縮代碼和資源

要儘可能減小 APK 文件,您應該啓用壓縮來移除發佈構建中未使用的代碼和資源。此頁面介紹如何執行該操作,以及如何指定要在構建時保留或捨棄的代碼和資源。 代碼壓縮通過 ProGuard 提供,ProGuard 會檢測和移除封裝應用中未使用的

原创 JNI和NDK編程

Java JNI:Java Native Interface(Java本地接口),是爲了方便Java調用C、C++D等本地代碼所封裝的一層接口。 NDK是Android所提供的一個工具集合,通過NDK可以在Android中更加方便的通過J

原创 曲線運動PathInterpolator /path

Material Design 中的動畫利用曲線實現時間內插與空間移動模式。 利用 Android 5.0(API 級別 21)及更高版本,您可爲動畫定義定製時間曲線以及曲線運動模式。 PathInterpolator 類別是一個基於貝塞