一、必要性 android build-tools升級到31.0.0(S)后,會強制要求升級到gradle7,否則無法編譯。gradle7廢棄了大量的api,增加了更嚴格的安...
一、必要性 android build-tools升級到31.0.0(S)后,會強制要求升級到gradle7,否則無法編譯。gradle7廢棄了大量的api,增加了更嚴格的安...
聲明式編程 聲明式編程是近年來越來越火的編程思想。萬物互聯(lián)的發(fā)展,驅(qū)動分布式UI前進。而聲明式編程,恰恰式實現(xiàn)分布式UI的最佳方式(個人觀點,當(dāng)前HW的分布式UI也是推薦使用...
實際上沒什么用,混淆后,tag沒有意義
如何設(shè)計 Log 工具類 —— timber 解析Log 類簡介 不論是日常開發(fā)調(diào)試,還是用戶行為分析,日志都扮演著不可或缺的角色。從日志中我們可以看出程序運行時的狀態(tài),用戶進行了哪些操作等等。 Android 為我們提供了...
前置 maven發(fā)布插件可以發(fā)布產(chǎn)物到 Apache Maven 代碼庫。Android Gradle 插件會為應(yīng)用或庫模塊中的每個構(gòu)建變體工件創(chuàng)建一個組件[https://...
本次介紹自定義編譯時注解,編譯時注解,不會在影響應(yīng)用的打包,沒有性能問題。如果是運行時注解,通過反射調(diào)用,就會有性能損耗。 工程結(jié)構(gòu)介紹: annotationstart:注...
一、mvvm是什么 引用度娘:MVVM是Model-View-ViewModel的簡寫。它本質(zhì)上就是MVC 的改進版。MVVM 就是將其中的View 的狀態(tài)和行為抽象化,讓我...
一 Activity 1 Activity 生命周期 1.1 Activity 的四種狀態(tài) running 當(dāng)前Activity正在運行,獲取焦點paused 當(dāng)前Acti...
目的: 為了提高apk的性能,使得apk在任何情況下,包括:cpu使用頻繁,內(nèi)存較少,用戶重度使用手機(即用戶使用一年后的情況,包含大量的圖片,音樂和應(yīng)用數(shù)據(jù))都能夠快速啟動...
一、摘要 該部分屬于進階內(nèi)容,要先掌握了java內(nèi)存回收機制,說白了就是引用計數(shù)法和可達性分析法。但是代碼寫的再認真,也難免出現(xiàn)一兩個差錯。這一兩個差錯就會導(dǎo)致內(nèi)存泄漏,輕則...
一、頁面啟動優(yōu)化: 頁面啟動慢主要有2種頁面渲染慢和java代碼初始化慢的問題。 頁面渲染: 1、最少布局嵌套 布局嵌套渲染極其耗時,減少不必要的嵌套就能大大提高啟動速度。原...
事件傳遞:由大到小,即父節(jié)點到子節(jié)點 dispatchTouchEvent作用是將touch事件向下傳遞直到遇到被觸發(fā)的目標view, 如果返回true,表示當(dāng)前view就是...