現(xiàn)象:Child繼承Parent并聲明了泛型類型 通過反射獲取對(duì)象c的泛型類型偶爾會(huì)返回java.lang.Object類型摘符。 原因:混淆時(shí)會(huì)將未用到泛型信息擦除,即在對(duì)象c...
![240](https://upload.jianshu.io/users/upload_avatars/11880671/2e6b6ee6-974b-4ede-a30c-f49a95d67a86.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
現(xiàn)象:Child繼承Parent并聲明了泛型類型 通過反射獲取對(duì)象c的泛型類型偶爾會(huì)返回java.lang.Object類型摘符。 原因:混淆時(shí)會(huì)將未用到泛型信息擦除,即在對(duì)象c...
一末荐、基礎(chǔ)知識(shí) Emoji 實(shí)際上是 UTF-8 (Unicode) 字符集上的特殊字符护戳,多數(shù)基本 Emoji 都被分配到 Unicode 編碼表 1 號(hào)平面的 U+1F300...
自定義Activity棧管器通過Application添加一個(gè)Activity生命周期監(jiān)聽,并在onActivityDestroyed時(shí)將記錄移出管理?xiàng)#窃陬l繁進(jìn)入炕淮、退出...
原因:使用class.newInstance()方法時(shí)由默認(rèn)構(gòu)造函數(shù)中拋出的異常無(wú)法被捕獲;解決:使用class.getDeclaredConstructor().newIn...
用于請(qǐng)求服務(wù)器返回指定部分內(nèi)容跳夭,常用由于斷點(diǎn)續(xù)傳涂圆。 請(qǐng)求格式 Range: <數(shù)據(jù)格式>=<數(shù)據(jù)開始的索引位置>-<數(shù)據(jù)結(jié)束的索引位置>;具體使用舉例: 請(qǐng)求從0至500的b...
代理持有被被代理對(duì)象优妙,裝飾器繼承被裝飾對(duì)象 被代理對(duì)象不能被直接操作乘综,被裝飾對(duì)象可以 Android中的Context就是常見的裝飾者模式;BindService獲取的IBi...
byte九妈、boolean 1個(gè)字節(jié)short反砌,char 2個(gè)字節(jié)int,float 4個(gè)字節(jié)long,double 8個(gè)字節(jié)對(duì)象頭 8個(gè)字節(jié)對(duì)齊:如果大小不是8的倍數(shù)萌朱,增加占...
每個(gè)類加載器都對(duì)應(yīng)一個(gè)命名空間宴树,命名空間由該加載器及所有父類加載器所加載的類組成。 特點(diǎn): 在同一個(gè)命名空間中晶疼,不會(huì)出現(xiàn)兩個(gè)全類名(包名+類名)完全一樣的類酒贬; 在不同的命名空...
SharedPreference的內(nèi)容會(huì)保留一份緩存在HashMap中,所以不要保存大數(shù)據(jù)翠霍,否則會(huì)增加GC頻率锭吨; apply方法在QueuedWork.waitForFini...
工作機(jī)制:每次改變LiveData數(shù)據(jù)都會(huì)對(duì)數(shù)據(jù)版本號(hào)加1零如,并觸發(fā)版本號(hào)小于數(shù)據(jù)版本號(hào)的觀察者監(jiān)聽,觸發(fā)后觀察者的版本號(hào)與數(shù)據(jù)版本號(hào)一致锄弱。 粘性事件:更新數(shù)據(jù)后考蕾,觀察者再訂閱...
含義: 當(dāng)程序運(yùn)行在內(nèi)核空間時(shí)為內(nèi)核態(tài),當(dāng)程序運(yùn)行在用戶空間時(shí)為用戶態(tài)会宪。用戶態(tài)只能訪問用戶空間下的地址肖卧,而內(nèi)核態(tài)可以訪問所有地址。 產(chǎn)生原因: 為防止用戶程序?qū)ο到y(tǒng)造成破壞狈谊,...
雙親委派機(jī)制的意義:當(dāng)一個(gè)類需要被加載的時(shí)候喜命,需要通過一個(gè)類的全限定名來獲取定義此類的二進(jìn)制字節(jié)流,而這個(gè)動(dòng)作由ClassLoader來完成河劝。對(duì)于任意一個(gè)類壁榕,都需要保證其在虛...
原理:ContentProvider在Application執(zhí)行attachBaseContext方法時(shí),會(huì)自動(dòng)觸發(fā)onCreate赎瞎,所以通過創(chuàng)建并注冊(cè)自定義ContentP...
減少onBindViewHolder內(nèi)的邏輯處理牌里,分離數(shù)據(jù)處理和視圖加載過程; 盡可能使用局部刷新务甥,減少使用全部刷新牡辽; 如果ItemView的高度是固定,設(shè)置Recycler...
代碼注釋上的描述:用于控制一個(gè)widget如何替換樹中的另一個(gè)widget敞临。如果兩個(gè)widget的運(yùn)行時(shí)類型和參數(shù)key分別相等(==)态辛,則通過Element.update更...
B類構(gòu)造函數(shù)后的冒號(hào)后面的內(nèi)容就是初始化列表挺尿。 注意事項(xiàng): 不同的初始化實(shí)例變量之間使用逗號(hào)隔開奏黑;初始化列表中可以使用assert判斷參數(shù)炊邦;父類構(gòu)造器也是初始化列表而且必須寫...
定義: 求數(shù)字x的二進(jìn)制表達(dá)式中最低位的1所對(duì)應(yīng)的值。 計(jì)算: 返回值均不帶符號(hào)熟史;如果x為奇數(shù)則返回為1馁害;如果x為偶數(shù),返回其約數(shù)中最大的符合2^n格式的值蹂匹; 應(yīng)用: 最常用...
增加了默認(rèn)的app啟動(dòng)頁(yè)SplashScreen碘菜;當(dāng)應(yīng)用targetSdkVertion>= 31時(shí),在冷啟動(dòng)或溫啟動(dòng)是限寞,會(huì)先加載展示啟動(dòng)頁(yè)SplashScreen忍啸,然后再顯...