原创 Android UI繪製 - 動畫進階

Canvas、Layer PS:addArc(Rect,startAngle,sweepAngle)中 startAngle:確定角度的起始位置 sweepAngle : 確定掃過的角度,掃過的角度360爲順時針一圈,-360爲逆時

原创 Android UI繪製 - 動畫基礎

基礎知識 Android的繪製系統(ActivityManagerService) Android的事件系統(InputManagerService) measure MeasureSpecs MeasureSpecs維護一個int型

原创 Android UI繪製 -- Drawable

Drawable 功能 獲取和設定可繪製區域 public final Rect getBounds() public void setBounds(int left, int top, int right, int bottom)

原创 Android UI繪製 -- 屏幕適配

#重要概念 屏幕尺寸 手機對角線的物理尺寸,單位英寸。 常見的有:5寸、5.5寸、6寸等 屏幕分辨率 手機在橫向、縱向上的像素點數總和,單位px。 常見的有:1080x1980、720x1280/480x800等 屏幕像素密度 每英寸

原创 Android多渠道打包

方案 介紹 優缺點 友盟多渠道打包方案 利用meta-data記錄每個渠道,每個渠道都需要走一次打包流程 缺:打包速度慢 美團多渠道打包方案1 向apk的META-INF目錄寫入空文件,文件名即爲渠道名 優:快速缺:

原创 Android 資源、代碼打包 && 簽名過程

Android 資源、代碼打包 && 簽名過程 Android APK安裝過程 Android 資源查找、代碼加載ClassLoader過程 Android 多渠道打包 打包過程 大致流程 利用aapt打包res資源文件,生成R.

原创 Android AOP 三劍客:APT AspectJ Javassist

概述 AOP三劍客各自作用的位置 APT 註解處理器(Java5 中的Annotation Processing Tool),註解現在已經比較常見,使用廣泛,可以爲我們提供準確的切入點。教程參見 代表框架:DataBinding、

原创 Android Framework -- WindowManagerService

WindowManagerService WindowManagerSerivce有三個主要功能: 窗口管理系統:負責窗口的啓動、添加、刪除、大小、層級順序等,它會爲每個窗口分配一塊Surface以供繪製。核心成員有DisplayCon

原创 Android Framework--PackageManagerService

概述 PackageManagerService負責Package的管理、應用程序的安裝、卸載以及提供應用程序的信息查詢 其實,在Android手機系統每次啓動的時候,都會使用PMS,把Android系統中的所有Apk都安裝一遍,一共4

原创 Android 單元測試

單元測試測什麼? 單元測試由一組獨立的測試構成,每個測試針對軟件中的一個單獨的程序單元。單元測試並非檢查程序單元之間是否能夠合作良好,而是檢查單個程序單元行爲是否正確。 單元測試中進行測試工作的主要在5個方面: 1、模塊接口測試:對被測

原创 Java語法-反射、註解(及APT)、泛型、動態代理

反射 獲取Class //法一,對象.getClass,不適用於int等基礎類型 Class clazz = new Person().getClass //法二,.Class Class clazz = Person.Class //法

原创 Java基本類型和數據結構

基本類型 精度丟失和溢出: 精度丟失一般發生在浮點型存儲數值或類型強制轉換的時候。我們知道計算機存儲數值實際存儲的是二進制,舉個粟子 double r1 = 1 - 0.99; double r2 = 2 - 0.99 resul

原创 Android IOS UI自動化測試:Appium

移動APP自動化測試框架對比【 騰訊移動品質中心TMQ】 客戶端自動化測試研究【美團技術團隊】 Appium【github】 Cucumber【github】 環境搭建 【Win下Android環境搭建】 1. Node.js 官網

原创 React-Native概述

環境搭建 本次開發環境 node: v8.9.4 npm: 5.6.0 react: 16.0.0 react-native: 0.51.0 代碼編輯器:webstorm 模擬器:ios => siMula

原创 Android開源庫選擇

事件總線/消息通信 EventBus VS Otto VS RxJava RxAndroid EventBus支持異步線程場景,Otto主要在主線程中處理 EventBus採用反射的方式對整個註冊的類的所有方法進行掃描來完成註冊,3.0