原创 通用的GridDividerItemDecoration

通用的GridDividerItemDecoration特點 1.支持設置左右間距 2.支持設置first item/last item ,top和bottom margin 3.剩餘空間每個item平均分配 package com.

原创 ConstraintLayout

這2組constraint屬性最好成對出現,不要app:layout_constraintLeft_toRightOf app:layout_constraintEnd_toEndOf=“parent” 這樣搭配使用將

原创 Android中Window

Window的屬性 Window的屬性,常用的選項: FLAG_NOT_FOCUSABLE Window不需要獲取焦點,也不需要接收各種輸入事件(收不到Back鍵的事件),此標記會同時啓用FLAG_NOT_TOUCH_MODEAL

原创 ObjectAnimator基本用法

//參數一:要操縱的view; //參數二:要操縱的屬性(translationX、translationY、rotationX、rotationY、rotation、scaleX、scaleY, alpha) //參數三:可變數組

原创 ProgressBar自定義旋轉Drawable

自定義rotate android:toDegrees值可以改變旋轉的速度 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.an

原创 find 和 grep命令

基本用法 find . -name “*.java” | grep ‘Home.java’ 參考資料

原创 shell腳本

set命令 set -x與set +x指令用於腳本調試 set是把它下面的命令打印到屏幕 set -x 開啓 set +x關閉 set -o 查看 set -e 與+e 在"set -e"之後出現的代碼,一旦出現了返回值

原创 網絡優化

網絡優化主要從三個方面進行 優化首先要弄清楚現狀,需要服務端和客戶端協同排查和打點統計。主要從速度、成功率、流量三方面來做優化。 Gzip壓縮 HTTP協議上的Gzip編碼是一種用來改進WEB應用程序性能的技術,用來減少傳輸數

原创 ANR分析

ANR類型 ANR一般有三種類型: KeyDispatchTimeout(5 seconds) --主要類型按鍵或觸摸事件在特定時間內無響應 BroadcastTimeout(10 seconds) --BroadcastRe

原创 Android新特性——App Bundles

我們是否可以直接利用Google爲我們提供好的構建機制,模仿Play商店構造一個SDK對App自身進行更新呢? 通過技術分析,我們有兩種方案可以實現自行更新: 1.直接利用PackageInstaller進行安裝,這種方式最接

原创 udp和tcp協議學習摘要

udp協議特性 UDP 缺乏可靠性。UDP 本身不提供確認,序列號,超時重傳等機制。UDP 數據報可能在網絡中被複制,被重新排序。即 UDP 不保證數據報會到達其最終目的地,也不保證各個數據報的先後順序,也不保證每個數據報只到達一次

原创 幀率

通過標準: fps>50,大於16ms的幀佔比<8%,即爲通過。 下面是一些人體對不同幀率的感知程度: 人眼與大腦之間的協作無法感知超過60fps的畫面更新。 12fps:手動快速翻動書籍的幀率; 24fps:人眼感知

原创 線程同步和死鎖問題

死鎖的形成 死鎖的避免 死鎖的表現

原创 android動畫學習摘要

android之animator 和animation 的區別 Animation框架定義了透明度,旋轉,縮放和位移幾種常見的動畫,而且控制的是一個整個View動畫,實現原理是每次繪製視圖時View所在的ViewGroup中的dra

原创 DiskLruCache學習摘要

DiskLruCache構造函數 valueCount:valueCount the number of values per cache entry. Must be positive.比如okhttp中的緩存每一個url請求