原创 Bitmap內存壓縮與管理

Android中有很多優秀的圖片加載框架,比如Glide,Fresco,Picasoo,ImageLoader等。這些框架在性能上和使用上雖然有着差異,也有着各自框架的優缺點,但是在基本原理上都大同小異(Fresco沒有研究過源碼,具體實

原创 注入神器Dagger2-----基本使用及原理分析(一)

Dagger2是一個實現注入的框架,相信大家都聽說過ButterKnife,Dagger2和ButterKnife的作用是一樣的,但是實現的功能更加強大。ButterKnife只能注入View和事件,而Dagger2可以注入任何一個對象。

原创 注入神器Dagger2-----對象單例模式分析(二)

在上一章節我們簡單介紹了Dagger2的使用和源碼中的流程。到這裏我們可能還會有疑問,如果某個類的對象在注入的時候創建多個對象,那麼幾個對象是一樣的?如果不一樣,這個類的對象被創建多次,就會產生多個不同的對象,浪費內存,有沒有單例的模式呢

原创 Glide框架解析---調用流程(三)

前兩篇主要介紹了Glide的緩存機制和註冊器,但是這兩篇並不是Glide的核心功能,只能算是深入瞭解Glide的鋪墊工作。調用流程的理解,會讓你深入的瞭解Glide的工作過程和源碼,這篇開始,我們正式進入Glide的核心部分。 Glide

原创 Glide框架解析---磁盤緩存與加載器(二)

一、磁盤緩存 其實磁盤緩存的原理沒什麼好說的?爲什麼這麼說呢?因爲Glide磁盤緩存的實現使用的也是JakeWharton大神的DisLruCache,所以呢,我們也是直接拿過來用即可,直接把這三個文件直接Copy即可。下面我們來說一下磁

原创 Glide框架解析---生命週期的介紹(四)

上一篇博客中我們主要介紹了Glide調用的流程,涉及的類還有方法我在交互圖中做了詳細的介紹,這篇呢我們來介紹一下Glide的生命週期。本來我打算在博客中詳細的寫出每個類和每個過程,但是涉及的篇幅實在的太多了,所以之後的博客還是以思想爲主,

原创 Glide框架解析---緩存機制介紹及活動緩存 內存緩存 複用池相關類(一)

Glide是一個非常成熟的圖片加載框架了,一開始從事Android開發就一直使用這個框架,使用的很熟,但是原理和源代碼上就沒怎麼研究了,最近抽出時間來,好好的學習了Glide的源碼和原理,我把自己的學習成果分享給大家。因爲Glide的原理

原创 MySQL ERROR 1005: Can't create table (errno: 150)解決辦法

我在添加外鍵的時候報錯,度娘了很長時間,基本上都在說兩個字段不一樣,我對了幾遍發現一個字段是無符號的,一個是有符號的,坑爹,改成一樣的就行了

原创 MySQL Cannot delete or update a parent row:

今天在做刪除數據庫數據的時候突然報了一個錯誤 Cannot delete or update a parent row:a foreign key constraint fails... 從上面的錯誤信息基本可以判斷出,因爲外鍵約束導致

原创 設置Redis連接密碼

原文鏈接:https://www.cnblogs.com/x-ll123/p/9717351.html 在服務器上,這裏以linux服務器爲例,爲redis配置密碼。 1.第一種方式 (當前這種

原创 Nginx反向代理的配置

說到反向代理就要提到代理,他們有什麼區別呢?我分別舉一個例子 比如你想要買一個蘋果手機,而且明確要求這個手機需要是美國的進口貨,此時的中介肯定會想辦法從美國買來一個手機給你。這就是代理;如果你想要買一個蘋果手機,只有這一個要求,只要是蘋果

原创 使用Nginx實現負載均衡

原文鏈接:https://blog.csdn.net/gu_wen_jie/article/details/82149003 負載均衡的作用 負載均衡:分攤到多個操作單元上進行執行,和它

原创 Kotlin面向對象(一)

一、抽象類和接口 二、繼承 三、類及其成員的可見性 四、object 五、伴生對象與靜態成員 一、抽象類和接口 對於抽象類和接口的話,和Java還是挺像的,雖然有一些區別,但是基本用法還是相同的。 在項目開發過程中,我們常會用到回調來獲取

原创 Kotlin的程序結構

一、var和val 在之前的博客中,我們經常使用到var和val這兩個關鍵字,這兩個關鍵字有什麼區別呢?val定義的值是不可變的,而val定義的值是可以變的。這讓我們想起來Java中final這個關鍵字,其實val使用起來和Java中的f

原创 Kotlin數據類型(二)

一、類和對象初始 二、空類型和智能類型轉換 三、包(package) 四、區間(Range) 一、類和對象初始 在Kotlin中類的關鍵字也class,和Java一樣,但是構造函數卻是完全不同。Kotlin中的構造函數有兩種,一種是主構造