原创 如何通過Android渲染管道提高渲染效率

一、Android 硬件加速發展過程 從Android 3.0開始支持硬件加速渲染(就是通過GPU來渲染2D UI),優點是比軟件渲染速度更快,缺點是更耗內存。 從Android 8.0開始就支持對硬件加速渲染設置不同的渲染管道,

原创 Android 10.0 Input System 源碼分析

前言 這篇文章主要解決以下問題: 什麼是Linux標準輸入協議? Android Input System架構是怎樣的? 如何InputEvent擴展協議? Android ANR產生的原理是什麼?如何避免ANR? 如何調試An

原创 XStream 源碼解析

項目地址:XStream, 分析的版本: v1.4.11,Demo地址:TestStream, 相關jar下載地址 本文結構 1、功能介紹 2、總體設計 3、詳細設計 4、如何提升XStream 解析速度 5、自定義Mapper和自定

原创 Android MaterialList源碼解析

MaterialList源碼解析 項目地址:MaterialList,分析的版本:v3.2.2,Demo 地址:MaterialList Demo 本文結構 1、功能介紹 2、總體設計 3、詳細設計 4、MaterialList自定義佈

原创 OkHttp 官方中文文檔

OkHttp官方中文文檔 本文結構 Calls Connections Recipes Interceptors HTTPS 本文翻譯來自 官方OkHttp Wiki OkHttp官方中文文檔 一Calls 1 請求 2 響應

原创 深入理解RecyclerView的設計和實現

RecyclerView作爲官方替代ListView的控件,它具有以下優點 自定義佈局方式,使我們輕鬆實現ListView、GridView形式,瀑布流形式 定義ViewHolder代替View,封裝了緩存判斷邏輯 RecyclerV

原创 Java類型信息與應用--動態代理

Java類型信息與應用--動態代理 本文結構 一、前言 二、爲什麼需要RTTI 三、RTTI在java中的工作原理 四、類型轉化前先做檢測 五、動態代理 六、動態代理的不足 一、前言 運行時信息使你可以在程序運行時發現和使用類型信息

原创 Please ensure that adb is correctly located

adb的”5037”端口被佔其他EXE佔了 netstat -aon|findstr “5037”(查詢系統是哪個進程使用了端口5037的是) 發現是6492的進程佔了用了“5037” tasklist|findstr “6492”(獲得

原创 JavaScript模擬生成二維數組及多維數組

JavaScript模擬生成二維數組及多維數組 本文根據項目需求整理而來 Js數組簡介 通過下面語句能過生成一個數組 var A=new Array();//創建一個數組 但是要生成A[10][10]這樣的數組,要如何實現呢? 很明顯j

原创 View 中 Pivot簡單講解

Pivot的作用 在android中對View進行旋轉(Rotation)或縮放(Scale)時,需要設置旋轉點或縮放點,這個點就是android中的中樞點(Pivot),中樞點的默認值爲View的中心。View的左上角是Pivot座標系

原创 Android Studio 報No resource found that matches the given name '@style/Theme.AppCompat.Light'.

這是因爲android studio工程中沒有引入相應的android支持庫 所以在build.gradle中的 dependencies { //compile 添加相應的android支持庫,不然theme.xml會報N