原创 Android View添加到Window的過程

Android 界面顯示的過程可以分爲兩個步驟 1.是將我們要顯示的佈局添加到window上 2.在進行測量、佈局、繪製 通過這兩步我們想看到的View就顯示在Window上了 今天說下View是怎麼添加到Window上的 首先要從

原创 對android 6.0 動態獲取權限框架 PermissionDispatcher 的使用

對android 6.0 動態獲取權限框架 PermissionDispatcher 的使用 android studio 引入 需要使用PermissionsDispatcher,需要在project的 build.gradle中添加

原创 android 自定義控件--Path 基本用法

Path 使用方法詳解 此篇是看了一名來自2.5次元的魔法師的文章後做的筆記,原文http://www.gcssloop.com/customview/Path_Bezier,大家可以看下,文很棒 1. 第一組:moveTo、setLas

原创 android線程池--ThreadPoolExecutor

ThreadPoolExecutor ThreadPoolExecutor 是線程池的真正實現,它的構造方法提供了一系列參數來配置線程池 這些參數直接影響到線程池的功能特性 public ThreadPoolExecutor(int c

原创 View 的工作原理

android開發藝術探索,筆記 4.1 ViewRoot 和 DecorView View的繪製的三大流程:measure、 layout 、draw ViewRoot對應於ViewRootImpl 類,它是連接WindowManag

原创 retrofit 2.0 +RxAndroid 使用中遇到異常 【abstract method not implemented】

在retrofit 2.0 +RxAndroid 程序運行時,報錯java.lang.AbstractMethodError: abstract method not implemented at retrofit.RxJavaCall

原创 不同方式切換Fragment時,生命週期的回調的不同

先上張Fragment 生命週期圖 下面開始通過不同的Fragment的切換方式來分別說明生命週期的調用 通過add hide show 方式來切換Fragment 切換方法使用: @Override public voi

原创 LeakCanary (Android 檢測內存泄漏工具的使用)

LeakCanary是andrid 檢測內存泄漏的工具,使用起來比MAT方便很多 下面介紹LeakCanary 的使用 下面是在在androidStudio 中使用 首先 在 build.gradle 中加入引用,不同的編譯使用不同

原创 算法--冒泡排序

冒泡排序 原理:相鄰的兩個數進行比較,如果滿足條件進行交換 排序: 4, 6, 5, 9, 2, 8 由小至大 第一輪:從第一個開始,每相鄰的兩個數進行比較,符合調整的數往上冒,直至比較到最後一位,如圖 第二輪:從第一個開始,每相鄰的兩

原创 png序列幀轉換WebP動畫

最近項目要用webp格式展示動畫(webp格式的優點在這我就不說了,baidu很多),由於UI同學無法給予我們支持,只能給我們png序列幀文件,所以接下來的事情需要開發自己轉換,所有有了這篇的總結:進入正題 對於png 、jpg、 gif