自我學(xué)習(xí)
學(xué)習(xí)清單
- 1糙申、看完極客時(shí)間劉超老師的趣談網(wǎng)絡(luò)協(xié)議
- 2、看完《深入理解Java虛擬機(jī)》
- 3、學(xué)習(xí)CountDownLatch源代碼
- 4触机、學(xué)習(xí)Java的并發(fā)知識(shí)
1颠区、看完極客時(shí)間劉超老師的趣談網(wǎng)絡(luò)協(xié)議
在印象筆記做了每章小結(jié)的記錄
2削锰、看完《深入理解Java虛擬機(jī)》
在百度腦圖做了筆記
3、學(xué)習(xí)CountDownLatch源代碼
輸入博客一篇CountDownLatch的使用與解析
4毕莱、學(xué)習(xí)Java的并發(fā)知識(shí)
遇到的問(wèn)題
1、Retrofit/RxJava2如何優(yōu)雅處理錯(cuò)誤朋截,比如需要解析錯(cuò)誤的responsebody
解決方法:
(1)在Observer的onError處理:
public void onError(Throwalbe e) {
BaseView view = weakReference.get();
if(e instanceof HttpException) {
ResponseBody responseBody = ((HttpException) e).response().errorBody();
view.onUnknowError(getErrorMessage(responseBody));
} else if (e instanceof SocketTimeoutException) {
view.onTimeout();
} else if (e instanceof IOException) {
view.onNetworkError();
} else {
view.onUnknowError(e.getMessage());
}
}
(2)可以使用onErrorResumeNext解決
參考 Responses/Errors with Retrofit 2 & RxJava2
2蛹稍、引入第三方庫(kù)時(shí),在編譯過(guò)程中部服,報(bào)了aapt.exe(finished with non-zero exit value 1)異常問(wèn)題
解決方法:
aapt.exe異常是指編譯資源時(shí)的異常唆姐,可以把自己的build.gradle的compileSdkVersion和buildToolsVersion提高,兼容第三方庫(kù)廓八。
擴(kuò)展:compileSdkVersion是APP編譯過(guò)程中使用的版本
targetSdkVersion是APP的目標(biāo) API 版本奉芦,指你已測(cè)試APP兼容的版本,手機(jī)系統(tǒng)不再使用向前的兼容版本
minSdkVersion 指定APP運(yùn)行所需最低 API 版本瘫想,手機(jī)系統(tǒng)小于這個(gè)版本不安裝仗阅。
收獲體會(huì)
1、對(duì)自己提高要求国夜,采用更高級(jí)的方式去實(shí)現(xiàn)需求减噪,雖然會(huì)遇到困難,但這是自己技術(shù)成長(zhǎng)的必經(jīng)之路车吹。
例如筹裕,以前都是線程池處理異步,現(xiàn)在對(duì)自己提高要求窄驹,采用RxJava朝卒,同時(shí)結(jié)合到Retrofit中,提高開(kāi)發(fā)能力乐埠。
2抗斤、堅(jiān)持TODOList,預(yù)估需要的時(shí)間丈咐。
3瑞眼、在Dialog中使用ConstraintLayout容易出現(xiàn)UI不完整問(wèn)題,尤其使用wrap_content棵逊,可以外部使用match_parent伤疙,內(nèi)部做居中處理,
有鏈?zhǔn)娇梢試L試使用app:layout_constraintVertical_chainStyle="packed"
4、多問(wèn)自己幾個(gè)為什么
比如為什么class文件編譯成dex文件徒像,因?yàn)閐ex文件去除了class文件結(jié)構(gòu)中冗余的設(shè)計(jì)黍特,更加精簡(jiǎn),適合于運(yùn)用在移動(dòng)端锯蛀。
轉(zhuǎn)變思維方式 >> 業(yè)務(wù)范圍外的技術(shù)應(yīng)用
量化目標(biāo)灭衷,少用形容詞
聰明反被聰明誤、雖然自己不感覺(jué)是在找借口旁涤,實(shí)際是在找借口今布,需要正視問(wèn)題所在(多問(wèn)自己幾個(gè)為什么,可以量化而不是形容詞)
待改進(jìn)的地方
1拭抬、更合理預(yù)估TODO List的時(shí)間部默,以后與人合作開(kāi)發(fā)的需求需要預(yù)估更多時(shí)間,這里新增成本有溝通成本造虎,理解代碼成本傅蹂。
2、積累經(jīng)驗(yàn)算凿,提高預(yù)估時(shí)間的準(zhǔn)確性份蝴。有些預(yù)估不夠準(zhǔn)確,比如埋點(diǎn)氓轰,4個(gè)埋點(diǎn)預(yù)估1h婚夫,簡(jiǎn)單還可以,但有一個(gè)埋點(diǎn)錯(cuò)誤情況太多署鸡,需要多點(diǎn)時(shí)間案糙,另外特殊情況,埋點(diǎn)表有問(wèn)題靴庆,也需要時(shí)間跟產(chǎn)品溝通时捌。再另外,有些沒(méi)有預(yù)估到炉抒,比如跟QA奢讨、產(chǎn)品溝通時(shí)間。
3焰薄、提高學(xué)習(xí)的時(shí)間拿诸,記住自己想要什么,你想要進(jìn)步塞茅,就需要付出更多亩码,排好優(yōu)先級(jí),把寶貴的時(shí)間花在更重要的事情上凡桥。
4蟀伸、評(píng)估好事情的優(yōu)先級(jí)蚀同,提高自己的執(zhí)行力缅刽。需要分清楚優(yōu)先級(jí)啊掏,臨時(shí)出現(xiàn)的事情,如果優(yōu)先級(jí)不高衰猛,那么放在后面迟蜜。
5、克服自己的惰性啡省。一是清楚自己想要什么娜睛,比如成為高級(jí)工程師,那么你需要付出更多時(shí)間在學(xué)習(xí)技術(shù)上卦睹,提高自己的技術(shù)水平畦戒;二是養(yǎng)成一些好的習(xí)慣,比如晚上固定時(shí)間學(xué)習(xí)结序,周末固定時(shí)間輸出一篇博客障斋,好的習(xí)慣就如吃飯慣性一樣,讓自己本能去做事徐鹤。