??最近在學(xué)習(xí)了一個RecyclerView新的組件--ConcatAdapter,今天打算寫一篇文章來學(xué)習(xí)一下它的源碼實現(xiàn)。在這之前,我就學(xué)習(xí)過ConcatAdapter的...
??最近在學(xué)習(xí)了一個RecyclerView新的組件--ConcatAdapter,今天打算寫一篇文章來學(xué)習(xí)一下它的源碼實現(xiàn)。在這之前,我就學(xué)習(xí)過ConcatAdapter的...
問題描述 最近在項目中遇到一個關(guān)于共享元素動畫失效的問題,在Activity跳轉(zhuǎn)時使用ActivityOptionsCompat.makeSceneTransitionAni...
在 5.0 之前我們可以通過 activity.overridePendingTransition() 實現(xiàn)滑動動畫、漸變動畫、縮放動畫等。在 5.0 版本之后,可以使用 a...
原創(chuàng)內(nèi)容,轉(zhuǎn)載請注明出處,多謝配合。 一、Android輸入系統(tǒng)介紹 牽涉到的模塊: InputReader: 負(fù)責(zé)從硬件獲取輸入,轉(zhuǎn)換成事件(Event), 并傳給Inpu...
前言 RecyclerView這個控件幾乎所有的Android開發(fā)者都使用過(甚至不用加幾乎),它是真的很好用,完美取代了ListView和GridView,而Recycle...
在Android開發(fā)中我們經(jīng)常使用LayoutInflater,俗稱布局填充器,使用它來把布局轉(zhuǎn)為一個View。一般來講可能采用的方式如下: 調(diào)用其靜態(tài)from方法,獲取La...
看樓主這篇博客的人肯定不少, 我這里說一下我自己的看法, 如果有不對的地方, 希望有人能給與指正, 執(zhí)行onLayout時, 數(shù)據(jù)會被全部放到mAttachedScrap里面, 然后繪制時從mAttachedScrap中取數(shù)據(jù), onLayout執(zhí)行完成以后mAttachedScrap清空, 超出屏幕的數(shù)據(jù)被放置到mCacheViews內(nèi)部, 超出mCacheViews大小之后, 舊的ViewHolder被移動到RecyclerPool中, 然后獲取ViewHolder緩存時, 如果ViewHolder是從RecyclerPool中獲取的, 則對ViewHolder進(jìn)行清空操作, createViewHolder時, ViewHolder已經(jīng)與View進(jìn)行了綁定, 而bindView是將ViewHolder的itemView與數(shù)據(jù)進(jìn)行關(guān)聯(lián), 所以如果ViewHolder是從mCachedViews中獲取的, 則與ViewHolder.mItemView關(guān)聯(lián)的數(shù)據(jù)也會被復(fù)用, 而從RecyclerPool中獲取到ViewHolder時, 僅僅是復(fù)用ViewHolder與View, 并不會復(fù)用與View綁定的數(shù)據(jù), 此時首先通過resetInternal()對ViewHolder進(jìn)行重置, 然后再調(diào)用bindView將ViewHolder.mItemView重新與數(shù)據(jù)進(jìn)行關(guān)聯(lián)
學(xué)習(xí)Flutter一小段時間,對純Flutter項目有了一些基本的了解,但更趨近實際開發(fā)的應(yīng)該是將Flutter模塊作為一個依賴庫添加到原生的Android項目中。 本文筆者...
大佬你又調(diào)皮了
解決RxJava內(nèi)存泄漏(前篇):RxLifecycle詳解及原理分析前言 隨著RxJava及RxAndroid的逐漸推廣,使用者越來越多,但是有一個問題,RxJava的使用不當(dāng)極有可能會導(dǎo)致內(nèi)存泄漏。 比如,使用RxJava發(fā)布一個訂閱后,當(dāng)...
嗯,打開看一下源碼,是基于google的sample構(gòu)建的,里面提供了各種各樣的花式使用姿勢
Android官方架構(gòu)組件Paging:分頁庫的設(shè)計美學(xué)本文已授權(quán) 微信公眾號 玉剛說 (@任玉剛)獨家發(fā)布。 前言 我是一個崇尚 開源 的Android開發(fā)者,在過去的一段時間里,我研究了Github上的一些優(yōu)秀的開源庫,這些庫...
這個是正解
Android接入flutter報錯:Must be able to initialize the VM.開始跟進(jìn)flutter項目按照官方的文檔一步步接入:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existi...
https://github.com/flutter/flutter/issues/19818
I find the reason:
if you config Flavor in app, the flutter lib must config the same Flavor.
if not, such as compileDevDebug will not found when build.
so, add the app's Flavor to the Flutter lib module, make the lib has the same compileDevDebug.
1.分享的簡介 自定義View部分已經(jīng)結(jié)束,了解具體詳情請移步Android進(jìn)階之旅 - 自定義View篇。按照原定的計劃,決定分享Android 進(jìn)階之旅 - 系統(tǒng)架構(gòu)篇。...
本文已授權(quán)「玉剛說」微信公眾號獨家發(fā)布 概述 Paging是Google在2018年I/O大會上推出的適用于Android原生開發(fā)的分頁庫,隨著越來越多的開發(fā)者著手使用Pag...