前言 前文分析了 TracePlugin 幀率分析的數(shù)據(jù)來源,本文將分析這些數(shù)據(jù)是如何計算和展示到 View 上的。 一、效果預覽 先來看一下官方 Demo 里面的效果: 1...
前言 TracePlugin 卡頓分析插件中包含很多 Tracer,而 FrameTracer 負責監(jiān)聽幀率。拿到產(chǎn)生的幀率數(shù)據(jù)之后,根據(jù)用戶設置的丟幀閾值進行報告。 那么 ...
可以的,注明出處就行??
Android 騰訊 Matrix 原理分析(二):TracePlugin 卡頓分析之主線程監(jiān)聽前言 接上文,我們首先來看 TracePlugin 卡頓分析的實現(xiàn)。TracePlugin 主要靠監(jiān)視主線程的各種狀態(tài)來分析是否卡頓,接下來我們開始吧。 前文傳送門: And...
前言 接上文,我們首先來看 TracePlugin 卡頓分析的實現(xiàn)。TracePlugin 主要靠監(jiān)視主線程的各種狀態(tài)來分析是否卡頓,接下來我們開始吧。 前文傳送門: And...
如需轉(zhuǎn)載請評論或簡信,并注明出處,未經(jīng)允許不得轉(zhuǎn)載 目錄 前言 對于接觸Android開發(fā)不久的同學來說,要寫一個頁面,我們大多數(shù)時候都是先創(chuàng)建一個layout.xml布局文...
寫在前面 近期開始 Android Framework 層的學習,然而較為龐大的 Framework 讓人感覺無從下手。碰巧看到一篇文章說到騰訊的 性能監(jiān)控框架 Matrix...
學習要抓住重點,提問題是一個不錯的方法 一、知識儲備型問題 1. 什么是進程?如何創(chuàng)建一個進程?(Android 環(huán)境) 2. Zygote 以及其啟動流程? 3. Syst...
前言 本文將對 Java 線程 Thread 進行學習和總結(jié),以下是概覽: 一、Thread 創(chuàng)建 線程的創(chuàng)建主要依靠實現(xiàn) Runnable 接口。調(diào)用 start() 方法...
一、背景 要理解反射,首先要知道它產(chǎn)生的背景。 在 Java 中,正常情況下我們只需要 new 某個類來使用就行了,但是如果想在運行時靈活創(chuàng)建某個類怎么辦?想要使用某個類但是...
前言 Iterator 是 Java 數(shù)據(jù)結(jié)構(gòu)框架的起始,它是一個頂級接口,夢開始的地方。 讓這個迭代器作為頂級接口可能是出于功能的考慮,不管怎樣的數(shù)據(jù)結(jié)構(gòu),都需要遍歷不是。...
線性鏈表 LinkedList 學習,比起 HashMap 真是簡單多了。 @[toc] LinkedList 特點 有序,但內(nèi)存空間中可能比較分散; 存儲相對較快、獲取相對...
ArrayList 實現(xiàn)/繼承: List 接口 定義線性集合的抽象,定義了獲取容量size()、是否為空isEmpty()、是否包含某元素contains(Object o...
JDK 1.7 數(shù)據(jù)結(jié)構(gòu) Segment 分段鎖 依舊是數(shù)組+鏈表,Segment 是一個 ReentrantLock 可重入鎖: 數(shù)據(jù)操作的時候,先定位到 Segment ...
前言 經(jīng)常用 HashMap,本來以為沒多少內(nèi)容,但是仔細研究之后發(fā)現(xiàn)還是有點東西的。本文通過一些問題結(jié)合源碼對 HashMap 進行記錄,以便再次學習。 本文源碼基于 JD...
定義 Java 中字符串,用來定義一串字符。說白了就是一串 char 的數(shù)組。 實現(xiàn)三個接口: Serializable:序列化。 Comparable:實現(xiàn) compare...
前言 無論是 Java 還是 Android,學習它們的類加載機制都非常重要的。本文統(tǒng)一記錄兩個平臺下 ClassLoader 的實現(xiàn)。 一、Java 中的 ClassLoa...
寫在前面 讀懂 Class 文件是了解虛擬機運行原理的重要步驟,本文將結(jié)合 《深入理解Java虛擬機》中的內(nèi)容,和大家分享解讀 Class 文件的過程。 一、什么是 Clas...