前言 ?多任務處理在現(xiàn)實開發(fā)場景中已經(jīng)無處不在,通過多任務處理可以將計算機性能更大程度的發(fā)揮出來,避免處于空閑狀態(tài)浪費性能。?對于計算量相同的任務,程序線程并發(fā)協(xié)調(diào)得越有條不...
前言 ?Android沿用了Java的線程模型,除了Thread外,Android還實現(xiàn)了AsyncTask、HandlerThread、IntentService,它們的底...
前言 ?Android沿用了Java的線程模型,除了Thread外,Android還實現(xiàn)了AsyncTask、HandlerThread、IntentService,它們的底...
前言 ?Android沿用了Java的線程模型,除了Thread外,Android還實現(xiàn)了AsyncTask、HandlerThread、IntentService,它們的底...
前言 ?線程在使用過程中,往往會遇見直接new Thread()的操作,這樣做除了方便外,壞處也有很多,例如線程無法復用、線程數(shù)無法控制導致CPU頻繁切換降低性能等問題。我們...
前言 ?實現(xiàn)MVVM并不一定要使用Databinding,但是使用它可以方便你綁定數(shù)據(jù),建議使用??梢酝ㄟ^查看以下兩篇文章簡單的了解DataBinding、ViewModel...
前言 1 繪制原理 CPU負責計算顯示內(nèi)容 GPU負責柵格化(UI元素繪制到屏幕上) 16ms發(fā)出VSync信號觸發(fā)UI渲染(90HZ屏幕是11ms) 2 優(yōu)化工具 Syst...
前言 ?Java堆和方法區(qū)兩個區(qū)域有明顯的不確定性,因為一個接口的多個實現(xiàn)類需要的內(nèi)存可能不一樣,一個方法所執(zhí)行的不同條件分支所需的內(nèi)存也可能不一樣,只有處于運行期間,我們才...
前言 ?JVM在執(zhí)行Java程序的過程中會把它所管理的內(nèi)存劃分為若干個不同的數(shù)據(jù)區(qū)域。這些區(qū)域都有各自的用途,以及創(chuàng)建和銷毀的時間,有的區(qū)域隨著虛擬機進程的啟動而一直存在,有...
前言 ?開發(fā)程序過程中常常涉及到內(nèi)存的申請以及回收過程,由于表現(xiàn)形式不明顯而且Java有自動垃圾回收機制,普遍情況下不會過度關(guān)注內(nèi)存,容易疏漏導致拋出異常。同時OOM等內(nèi)存問...
前言 ?ANR是Application Not Responding的縮寫,即應用程序無響應。簡單來說,就是應用的界面突然卡住了,無法響應用戶的操作如觸摸事件等。 優(yōu)化思路 ...
前言 ?卡頓是在用戶使用過程中很直觀的不良感受,主要分為由代碼、內(nèi)存不足等問題引起的常規(guī)卡頓和ANR異常,我們可以利用線上和線下相結(jié)合的方式全覆蓋監(jiān)測卡頓點,還要特別針對一些...
前言 ?性能優(yōu)化的方向之一就是計算方法的耗時,去分析初始化所耗時間是否和預期差不多。耗時計算方法可以分為手動打點和AOP打點,手動打點可以查看Android性能優(yōu)化之App啟...
1.traceview使用 ?運行之后可以在目錄下生成文件:內(nèi)部存儲/android/data/cpm.example.myapplication/files/myapp.t...
前言 ?啟動速度是用戶對于App好用與否的第一印象,如果用戶在打開一個頁面等待時間超過8S,那么用戶將放棄等待,因此啟動速度優(yōu)化是對于一款App來說是重要的環(huán)節(jié)之一。 啟動分...
數(shù)據(jù)總線
Android Jetpack - 使用 Navigation 管理頁面跳轉(zhuǎn)在今年的 IO 大會上,發(fā)布了一套叫 Android Jetpack 的程序庫。Android Jetpack 里的組件大部分我們都接觸過了,其中也有一些全新的組件,其中一個...