Come and Meet Kotlin Coroutine Tags of Kotlin Coroutine Kotlin協程可以被理解為一種輕量級的線程,它具有掛起和恢復...
Come and Meet Kotlin Coroutine Tags of Kotlin Coroutine Kotlin協程可以被理解為一種輕量級的線程,它具有掛起和恢復...
簡介 最近用一個日期選擇控件,感覺官方的DatePicker操作有點復雜,而且不同的Android版本樣式也都不一樣。后來發(fā)現小米日歷的日期選擇控件蠻好看的,于是自己嘗試仿寫...
目錄 1.介紹 2.為什么要用ConstraintLayout 3.如何使用ConstraintLayout3.1 添加依賴3.2 相對定位3.3 角度定位3.4 邊距3.5...
1.概述 一直以來都想整理下ATMS相關的流程,但是不能自己靜下心來,最新考慮到可能需要換工作,撿起這塊內容,先從應用內到Activity跳轉開始,本文注意于流程為主。在分析...
Koin是一款輕量級的依賴注入框架,根據官方的描述,它無代理,無代碼生成,無反射。 學過Dagger2的同學都深深體會到Dagger入門的艱辛。但是Koin,你通過5分鐘的學...
1. 常見用法 1. 在ext這個map中放字符串或者基本數據類型 在android的rootProject的build.gradle中,定義如下代碼塊 然后在app模塊下,...
前言: 眾所周知,一個build.gradle代表著一個project,每個project都有若干個task和每個project里的屬性和額外屬性還有方法,下面這篇文章主要講...
前言 Gradle插件在Android中的應用很廣泛,很多字節(jié)碼插樁方案就用到了這方面的知識,Android官方提供了很多可用的插件,比如apply plugin: 'com...
一、Fragment事務提交的部分操作 1.相關源碼概念 FragmetActivity的getSupportFragmentManager()內部是通過FragmentCo...
緩存復用是 RecyclerView 中一個非常重要的機制,這套機制主要實現了 ViewHolder 的緩存以及復用。 核心代碼是在 Recycler 中完成的,它是 Rec...
一、前言 對于日常開發(fā)來說,一般我們都是在XML中創(chuàng)建想要的View,然后在代碼中通過id來找到對應的View,對其進行相應的操作。但是,這樣做有一個前提是,你需要事先知道V...
*本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家發(fā)布 ??從今天開始,樓主正式開始分析RecyclerView的源碼。為了閱讀RecyclerView的源碼,...
說起View的滑動效果,實現的方法有多種,例如使用動畫,或者通過改變View的布局參數,其實除了這兩種外,在Android中View已經為我們提供了scrollTo()和sc...
大家都知道Android View繪制過程包含Measure、Layout、Draw三個主要的過程,這個過程看似簡單,但是在應用的時候,很多同學還是不能很好的運用。我希望這篇...
前言 在android當中對于UI體系當中往往我們會在繪制UI的時候碰到各種各樣的問題而不知道從何解決, 也有時需要開發(fā)更改自定義組件時,需要做自己的調整,或者是實現...
說到緩存,都會想到內存緩存 LruCache 和磁盤緩存 DiskLruCache,兩者都是基于 LRU(Lest Resently Used)算法并使用 LinkedHas...
先看下Glide官方文檔對圖片加載性能優(yōu)化的兩個方面: 圖片解碼速度 解碼圖片帶來的資源壓力 主要采用的步驟如下: 自動、智能地下采樣(downsampling)和緩存(ca...
上篇我們以加載一張網絡圖片為例,講解了Glide加載一張圖片的整體流程。為了更連貫的理解流程我們略過了一些細節(jié),包括緩存功能,本篇我們來講解Glide的二級緩存機制。緩存流程...
前言 在Android開發(fā)中,網絡請求十分常用 而在Android網絡請求庫中,Retrofit是當下最熱的一個網絡請求庫 今天,我將手把手帶你深入剖析Retrofit v2...