一、概述 在上一篇文章中,我們通過源碼的角度了解FragmentPagerAdapter和FragmentStatePagerAdapter的原理。這其實是為我們分析數(shù)據(jù)更新...
一、概述 在上一篇文章中,我們通過源碼的角度了解FragmentPagerAdapter和FragmentStatePagerAdapter的原理。這其實是為我們分析數(shù)據(jù)更新...
前言 TracePlugin 卡頓分析插件中包含很多 Tracer,而 FrameTracer 負責監(jiān)聽幀率。拿到產(chǎn)生的幀率數(shù)據(jù)之后,根據(jù)用戶設置的丟幀閾值進行報告。 那么 ...
前言 接上文,我們首先來看 TracePlugin 卡頓分析的實現(xiàn)。TracePlugin 主要靠監(jiān)視主線程的各種狀態(tài)來分析是否卡頓,接下來我們開始吧。 前文傳送門: And...
RecyclerView的復用機制 前提 RecyclerView,即“熟悉”又“陌生”的控件。說起熟悉,是因為它頻繁的使用在各個界面中,手機的豎直操作,需要大量的列表展示,...
要實現(xiàn)這種效果,子view在父的之上,關鍵代碼如下 主要用到的屬性 1 、clipToPadding就是說控件的繪制區(qū)域是否在padding里面的,true的情況下如果你設...
Service是一種可以在后臺執(zhí)行耗時操作而沒有用戶界面的應用組件。它默認運行在主線程中,不可以直接進行耗時操作,關于在Service中進行耗時操作詳見本文末尾 —— Int...
Given a string, find the length of the longest substring without repeating characters. ...
Given an array of integers, return indices of the two numbers such that they add up to ...
Volatile 假設有這樣一種情況,線程1通過一個flag控制線程2的運行如下圖: 如果不對 做任何處理,那么就會產(chǎn)生可見性問題( ),即 對 值作出了改變, 的 卻可能沒...