1、遵循單一職責(zé)原則 1)一個類只專注于做一件事;2)高內(nèi)聚,低耦合; 2、開放-封閉原則 1)對拓展開放,對修改關(guān)閉(盡可能不動原有代碼進行拓展);2)高內(nèi)聚,低耦合;3)...
1、遵循單一職責(zé)原則 1)一個類只專注于做一件事;2)高內(nèi)聚,低耦合; 2、開放-封閉原則 1)對拓展開放,對修改關(guān)閉(盡可能不動原有代碼進行拓展);2)高內(nèi)聚,低耦合;3)...
效果圖 方案一:不重走生命周期 Activity代碼 豎屏布局代碼 橫屏布局代碼 AndroidManifest.xml配置代碼 方案二:重走生命周期 Activity代碼 ...
1、什么是Handler,為什么要有Handler? Android中主線程也叫UI線程,主線程主要是用來創(chuàng)建、更新UI的。而其他耗時操作,比如網(wǎng)絡(luò)訪問、文件處理、多媒體處理...
問題描述 Android 9.0及以上版本,多進程使用WebView會引發(fā)應(yīng)用程序崩潰。 官方說明:在Android 9.0中,為改善應(yīng)用穩(wěn)定性和數(shù)據(jù)完整性,應(yīng)用無法再讓多個...
實現(xiàn)方式線程安全并發(fā)性能好可以懶加載反射/序列化/反序列化安全餓漢模式Y(jié)YNN懶漢模式(不加鎖)NYYN懶漢模式(加鎖)YNYN雙重校驗鎖模式Y(jié)YYN靜態(tài)內(nèi)部類模式Y(jié)YYN枚...
1、addInterceptor 有無網(wǎng)絡(luò)都會被調(diào)用到。 攔截器只會被調(diào)用一次,調(diào)用chain.proceed()得到的是重定向之后最終的響應(yīng)信息,不會通過chain.con...
AndroidX項目也是可以正常使用的
Android 資源分享(持續(xù)更新中)三方庫云集 萬能適配器庫http://www.itdecent.cn/p/b343fcff51b0[http://www.itdecent.cn/p/b343fcff51...
環(huán)境 代碼環(huán)境:targetSdkVersion 29手機環(huán)境:Android 10 踩坑問題一 場景:api 28升級到api 29,同樣的代碼從外部存儲讀寫數(shù)據(jù),升級后報...
復(fù)現(xiàn) 錯誤代碼如下 看到這段代碼你肯定一時間難以看出問題所在。為啥只有幾個偏門機型會報錯呢???幾番折騰,找到一個時間格式化編碼參照表 根據(jù)參照表,確實沒有Y這個格式的編碼,...
復(fù)現(xiàn) 錯誤代碼如下 這里看著也沒啥問題啊,相同的代碼運行在不同手機上為啥有的報錯有的不報錯呢?根據(jù)錯誤提示Comparison method violates its gen...
首先我們來看下Application的繼承關(guān)系 從這里可以看出Application繼承自ContextWrapper,所以當(dāng)我們在調(diào)用Application的getAppl...
目錄 1、源碼簡單分析2、對比commit和apply3、為什么會造成ANR?4、可以跨進程通信?5、有什么優(yōu)化方式和存儲替代方案? 1、源碼簡單分析(api 28) Sha...
輪子鍋鍋牛批
用兩段代碼帶你看懂事件分發(fā)機制先來看一段精簡版的源碼 View.java ViewGroup.java 思維導(dǎo)圖 主要方法解釋 dispatchTouchEvent:事件分發(fā)方法返回 false:分發(fā)事件...
直接public呢?
自從學(xué)了這招,再也沒有寫過 Get 和 Set 方法了我們在平常開發(fā)中,最令我們心煩的事情,就是 Bean 類的 Get 和 Set 方法了,雖然 Studio 上面有自動幫我們生成 Get 和 Set 的工具,但是這種方式其實...