解決內(nèi)存泄漏之路 一、在XML文件直接用VideoView控件時(shí),很容易造成內(nèi)存泄漏,最開始出現(xiàn)的內(nèi)存泄漏如下 谷歌搜索了一下,最直接的解決方法是在代碼中動(dòng)態(tài)創(chuàng)建VideoV...
解決內(nèi)存泄漏之路 一、在XML文件直接用VideoView控件時(shí),很容易造成內(nèi)存泄漏,最開始出現(xiàn)的內(nèi)存泄漏如下 谷歌搜索了一下,最直接的解決方法是在代碼中動(dòng)態(tài)創(chuàng)建VideoV...
一、ViewPager2介紹 1 簡介 谷歌為什么要出這個(gè)組件呢?官方是這么說的: 2 具體改動(dòng): New features: 支持豎向滾動(dòng) 完整支持notifyDataSe...
1 LayoutTransition 概述 通過對(duì)視圖動(dòng)畫和屬性動(dòng)畫的學(xué)習(xí),我們現(xiàn)在可以對(duì)一個(gè)view進(jìn)行動(dòng)畫操作,但是如何在添加view,刪除view,顯示view,隱藏v...
簡介 本項(xiàng)目基于 組件化 + Arouter + Jetpack + Rxjava + Retrofit + AOP 等框架實(shí)現(xiàn)的一款開源項(xiàng)目。如有任何疑問或bug歡迎給我提...
距離上一篇文章「 MotionLayout:打開動(dòng)畫新世界大門(part I)」已經(jīng)過去了很久,由于個(gè)人原因,MotionLayout 系列文章姍姍來遲。在之前的文章中,我們...
最初接觸到 MotionLayout 是在國外知名博客的 Android 專欄上。第一眼見到 MotionLayout 時(shí)無疑是興奮的,在經(jīng)過使用和熟悉了這個(gè)布局組件之后,我...
Google Play 區(qū)分 在接入Google Pay,查閱 Api 的時(shí)候,發(fā)現(xiàn)集成方式有2種 GooglePay:個(gè)人理解的是銷售實(shí)體商品之類的內(nèi)容(理解有誤歡迎拍磚)...
方式一:配置清單文件 標(biāo)簽中設(shè)置:android:screenOrientationActivity 在設(shè)備上的顯示方向。如果 Activity 是在多窗口模式下運(yùn)行,系統(tǒng)會(huì)...
一、前言 最近在崩潰上報(bào)中發(fā)現(xiàn)了如下錯(cuò)誤,notification報(bào)出來的錯(cuò)誤,由于這只是在部分機(jī)型上面報(bào)出來,自己測試了幾種機(jī)型都沒能復(fù)現(xiàn),所以只有分析一下Notifica...
最近升級(jí)了AS到3.2.1,好多次在開啟了AS的代理之后再關(guān)閉就無效了, 以Mac電腦為例,真正的AS全局配置文件為 ~/.gradle/gradle.properties,...
現(xiàn)在APP中用到H5頁面的越來越多,而如何正確獲取WebView的網(wǎng)頁title是必須要考慮的。 網(wǎng)上能查的大部分方法都是在WebChromeClient的onReceive...
在形式上講,觀察者模式與回調(diào)模式有很大的相似之處,對(duì)兩者使用都不是很熟練的同學(xué),可能會(huì)難以分辨。 觀察者模式 觀察者模式的簡單代碼實(shí)現(xiàn)如下: 我們首先聲明一個(gè)被觀察對(duì)象。 然...
Dialog 寬度占據(jù)全屏 關(guān)于如何自定義設(shè)置 Dialog 的大小,以及如何讓寬度占滿整個(gè)屏幕,其實(shí)是一個(gè)老生常談的內(nèi)容了,特別是對(duì)于很多新手來說。關(guān)于這方面的內(nèi)容網(wǎng)上一搜...
AOP是一個(gè)老生常談的話題,全稱"Aspect Oriented Programming",表示面向切面編程。由于面向?qū)ο蟮木幊趟枷胪瞥绺邇?nèi)聚、低耦合的架構(gòu)風(fēng)格,使得模塊間代...
首先 先 明白一個(gè)問題:什么是ANR Application Not Responding,意思是”應(yīng)用沒有響應(yīng)“ 以前我的理解就是 “在主線程做了耗時(shí)操作”就會(huì)引起ANR,...
前言 在Kotlin中,有一些用于擴(kuò)展 & 方便開發(fā)者編碼的內(nèi)置函數(shù),能大大提高開發(fā)者的開發(fā)效率。今天,我將主要講解的是: let函數(shù) also函數(shù) with函數(shù) run函數(shù)...