原创 android 註解簡介一: java基本註解

註解 定義:註解(Annotation),也叫元數據。一種代碼級別的說明。它是JDK1.5及以後版本引入的一個特性,與類、接口、枚舉是在同一個層次。它可以聲明在包、類、字段、方法、局部變量、方法參數等的前面,用來對這些元素進行說明

原创 2019安卓面試題整理

圖片相關: 項目裏用到的圖片格式 jpeg,png,webp的各自有什麼特點 webp的優缺點 什麼是矢量圖,特點是什麼 矢量圖對應的另一種圖片類型是什麼,位圖的特點是什麼 位圖和矢量圖的比較 假設xxhdpi目錄下有一個2M的圖

原创 性能優化總結4:組件化混淆需要注意的地方

1、混淆的好處 android studio 使用ProGuard來進行混淆,ProGuard是一個壓縮、優化和混淆java字節碼文件的工具,可以刪除無用的類,字段,方法和屬性,還可以刪除無用額註釋,最大限度的優化字節碼文件,規避

原创 android 註解簡介二: 元註解和自定義註解

首先看一個自定義的註解: 1、自定義註解 public @interface MyAnnotation { int age(); } 可見定義一個註解非常簡單,只需要使用@interface關鍵字來定義即可。 同時我

原创 源碼解讀系列(二)EventBus3.1.1

1、EventBus的構造過程 使用EventBus的時候,首先要獲取EventBus 構造方法是一個雙重檢查的單例模式。 調用了 EventBus(DEFAULT_BUILDER);傳入了一個默認的EventBusBuil

原创 android 註解簡介三: 自定義註解實現視圖綁定

前文地址: android 註解簡介一: java基本註解 android 註解簡介二: 元註解和自定義註解 代碼地址,請參考代碼看博客哦,項目實現了: 視圖綁定,點擊事件綁定,長按點擊事件綁定以及在activity和fragme

原创 不要在finally中使用return

在項目中,切忌不要在finall語塊中使用return 因爲finally 塊中的 return 返回後方法結束執行,不會再執行 try 塊中的 return 語句。 也就是說try塊中的return值會先保存起來,然後執行完fi

原创 android @人功能實現,整體刪除

實現@人功能,整體刪除和添加,不可修改 代碼地址: https://github.com/GodisGod/test/tree/master 其中是根據Id來判斷是不是同一個人的,圖中的兩個“王五29”一個id是29一個id是30

原创 8.0以上版本適配(轉載)

targetSdkVersion升級到28一些修改的地方 https://www.jianshu.com/p/6ce99e03080f 另外: 9.0以上發現只顯示glide默認的圖片,這是因爲9.0默認禁止了所有的Http連接

原创 Http協議的變化路程

轉載: 從HTTP/0.9到HTTP/2:一文讀懂HTTP協議的歷史演變和設計思路 - helloJackJiang - 博客園 https://www.cnblogs.com/imstudy/p/9234124.html

原创 組件化過程中application的替換規則

1、如果功能module有application,主module沒有,那麼會自動引用功能module中的application 2、如果主module有application,其它module沒有,那麼會自動引用主module的a

原创 源碼解讀系列(三)網絡框架之OkHttp3(下)--攔截器

首先套用官網的一句話來描述攔截器的作用: Interceptors are a powerful mechanism that can monitor, rewrite, and retry calls. 攔截器是一個功能強大的

原创 Error:Kotlin: Unsupported plugin option: org.jetbrains.kotlin.android:enabled=true

findbugs 分析項目的時候遇到一個報錯: Error:Kotlin: Unsupported plugin option: org.jetbrains.kotlin.android:enabled=true 解決方法如下:打開f

原创 源碼解讀系列(三)網絡框架之OkHttp3(上)--請求流程

1、OkHttp3的基本使用 //1.1 GET請求 public void get() { //1、構建request Request request = new Request.Builde

原创 gradle知識總結1:依賴

一:查看依賴關係: 方法1:./gradlew 模塊名:dependencies 方法2:使用gradle工具 方法3:安裝gradle view插件 方法4:./gradlew build --scan 編譯成功後訪問這個