2017-08-21 15:49:18 1373瀏覽
Android 開發(fā)者的經(jīng)驗(yàn)分享一般都是剛畢業(yè)或者是剛參加工作的同學(xué)比較喜歡看的,因?yàn)樽鳛?span>“前輩”分享的Android 開發(fā)者的經(jīng)驗(yàn)是可以給剛?cè)肼毜?a href="http://m.dionly.net.cn/" target="_blank">Android 開發(fā)者提供很多指導(dǎo)的,今天小編就和大家一起來看一下這篇Android 開發(fā)者的經(jīng)驗(yàn)分享的文章。
1、好代碼像好的段子,不需要多余的解釋。如果你的代碼是不解自明的,那么大多數(shù)情況下,它并不需要注釋和文檔。
在使用任何第三方庫之前都要三思,這件事非常嚴(yán)肅,別人不維護(hù)了怎么辦,突然改別的需求了又咋辦,自己沒進(jìn)步不知道原理咋辦,是不是覺得自己要親力親為呢,如果學(xué)習(xí)了別人的原理去使用,對(duì)自己是一大突破,哪天自己也能封裝個(gè)呢。
2、除非必須,不要使用數(shù)據(jù)庫。2017再多不過發(fā)生的幾大事情中,很多都是從刪除到跑路,當(dāng)讓前提要自己跑的安全。脫得干凈,會(huì)丟鍋。但是你可以嘗試使用realm(第三方數(shù)據(jù)庫),這個(gè)真的不錯(cuò)。項(xiàng)目很快就會(huì)達(dá)到65k方法,真的很快,此時(shí)可以求助Multidex。
3、RxJava是AsyncTask的最佳替代,而且它遠(yuǎn)不止于此,此前一個(gè)月一直在學(xué)習(xí),用上了保證你愛不釋手。Retrofit是最好用的網(wǎng)絡(luò)庫,不要自己寫Http客戶端,可以用Volley或OkHttp。
4、使用RetroLambda縮減代碼,我能想到人生最cool的事,就是把RxJava、Retrofit和RetroLambda綁在一起。
5、EventBus挺好用,但我不會(huì)用太多,因?yàn)榇a會(huì)變得很糾結(jié),不過難者不會(huì),難免有大佬喜歡用。
6、通過功能分包,而不是通過層。這樣子功能模塊會(huì)越發(fā)的清晰,但是如果有習(xí)慣,那請(qǐng)自便。
7、不要在UI線程中執(zhí)行邏輯代碼,不然可能會(huì)ANR。作為新手的我遇到過幾次,但是后來我學(xué)會(huì)注意了,希望后人謹(jǐn)慎。
8、使用Lint檢查Layout層級(jí)可以幫你發(fā)現(xiàn)沒用的View,興許可以去掉。
9、使用Gradle以及默認(rèn)項(xiàng)目結(jié)構(gòu)。
10、把密碼與敏感數(shù)據(jù)放在gradle.properties里。(譯者注:或許更好的方式是把這些數(shù)據(jù)放在local.properties里,然后把這個(gè)文件加進(jìn).gitignore)
11、使用styles來避免在Layout文件中寫重復(fù)代碼。
12、不要讓ViewGroup層級(jí)太多。(會(huì)過度繪制)
13、監(jiān)控電量,充電時(shí)可以進(jìn)行更多的數(shù)據(jù)更新,低電量時(shí)停止數(shù)據(jù)的自動(dòng)更新。
14、當(dāng)系統(tǒng)缺少內(nèi)存(而不是應(yīng)用缺少內(nèi)存)時(shí),系統(tǒng)會(huì)調(diào)用onLowMemory()方法,所以OOM原則上無法避免。
15、使用Account Manager來提示登錄所需的信息(用戶名、郵箱、密碼等)。
16、給方法一個(gè)明確的命名,要能顧名思義,作為一名新入門選手這個(gè)真的很重要,搞不好就不記得這個(gè)代碼是不是自己寫的了,哈哈!
17、啟動(dòng)界面是應(yīng)用帶給用戶的第一體驗(yàn),如果不需要啟動(dòng)界面,那不要無故添加。要不然后果可想而知(有的啟動(dòng)界面太炫酷,導(dǎo)致用戶進(jìn)不去的真是在我身邊發(fā)生過)。
18、保持colors.xml文件短而簡單,只寫基本顏色就行。;保持dimens.xml文件簡單,之定義基本常量。
19、當(dāng)要時(shí)常修改一個(gè)字符串時(shí),使用StringBuffer或StringBuilder(后者不保證線程安全)。
20、為了避免內(nèi)存泄露,不要在AsyncCallBack中保留View引用!不要讓靜態(tài)對(duì)象持有View引用!
21、最好不要在集合框架中存儲(chǔ)View,但你也可以使用WeakHashMap。
22、FlatBuffers是一個(gè)高效的跨平臺(tái)的序列化類庫,建議使用,盡管本人沒用,但是覺得很好用,學(xué)習(xí)了一點(diǎn)。
23、Serializable實(shí)現(xiàn)起來很方便,但性能是真的差。
上面就是小編整理的Android 開發(fā)者的經(jīng)驗(yàn)內(nèi)容,希望對(duì)正在Android 開發(fā)路上追夢的你有所幫助。最后要說的是如果你對(duì)Android 開發(fā)感興趣想要學(xué)習(xí)的話可以關(guān)注扣丁學(xué)堂,扣丁學(xué)堂有免費(fèi)的Android 開發(fā)視頻教程提供給想要學(xué)習(xí)的小伙伴。
查看更多關(guān)于“android開發(fā)資訊”的相關(guān)文章>>