中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

構(gòu)建 Android 應(yīng)用程序一定要繞過的 30 個(gè)坑

2018-07-20    來源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬Linux鏡像隨意使用

學(xué)習(xí)領(lǐng)域有兩類人 – 一類是那些通過艱苦努力一步一步學(xué)習(xí)的人,一類是學(xué)習(xí)別人的經(jīng)驗(yàn)教訓(xùn)走捷徑的人。在此,我想分享一些自己的經(jīng)驗(yàn)給大家:

  1. 添加使用第三方依賴庫前,請(qǐng)?jiān)偃伎,它絕對(duì)是一個(gè)慎重的決定;
  2. 如果用戶看不見有些界面,  請(qǐng)一定不要繪制它 !;
  3. 除非真的需要,否則不要使用數(shù)據(jù)庫;
  4. 應(yīng)用程序中 65k 方法數(shù)的限制很快就能達(dá)到,我意思是真的很快! 不過 multidexing 能拯救你 ;
  5. RxJava  是對(duì)  AsyncTask 和其它異步任務(wù)類  最好的替代品;
  6. Retrofit  是目前 android 最好的處理網(wǎng)絡(luò)事務(wù)的依賴庫
  7. 使用  Retrolambda  來精簡(jiǎn)你的代碼;
  8. 把 RxJava 與 Retrofit 和 Retrolambda 整合在一起來達(dá)到最佳效果!;
  9. EventBus  非常好用, 但是我不會(huì)使用太多因?yàn)樗鼤?huì)讓代碼庫變得更混亂;
  10. 按照應(yīng)用功能來封裝,而非所屬類別 ;
  11. 把 每一個(gè)事務(wù) 都從應(yīng)用程序主線程移除;
  12. lint 這個(gè)工具能幫助優(yōu)化你的界面和層級(jí),所以你能識(shí)別出哪些是可能被移除的重復(fù)視圖;
  13. 如果你正在用 gradle ,盡你所能加速它的執(zhí)行效率 ;
  14. 執(zhí)行一個(gè)Profile report / 構(gòu)建分析報(bào)告來檢查下構(gòu)建的過程中時(shí)間都花費(fèi)在哪里了;
  15. 使用一個(gè)眾所周知的代碼架構(gòu)  ;
  16. 測(cè)試會(huì)花費(fèi)很多時(shí)間,一旦你被某個(gè)問題困住,你就會(huì)明白有了測(cè)試用例會(huì)讓你提高開發(fā)效率并且增加應(yīng)用程序的健壯性。  ;
  17. 請(qǐng)使用依賴注入來使你的應(yīng)用程序更模塊化,因此它也更加容易被測(cè)試;
  18. 收聽Fragmented 播客會(huì)大大幫助你;
  19. 永遠(yuǎn)不要使用你的個(gè)人email作為android應(yīng)用發(fā)布市場(chǎng)的賬號(hào)名 ;
  20. 請(qǐng)一直使用合適的 輸入類型;
  21. 使用Analytics來查找可用的模式和分離 bug;
  22. 保持最新的依賴庫(使用dryrun 來更快的測(cè)試他們);
  23. 你的服務(wù)應(yīng)該盡快執(zhí)行所需要的任務(wù)并且及時(shí)被終止;
  24. 使用Account Manager來提示登錄的用戶名和 email 地址;
  25. 使用CI(持續(xù)集成) 來構(gòu)建和分發(fā)你的測(cè)試和生產(chǎn)環(huán)境的  apk ;
  26. 請(qǐng)不要建立和運(yùn)行你自己的CI服務(wù)器,維護(hù)這個(gè)服務(wù)器是很耗時(shí)的,因?yàn)闀?huì)有磁盤空間問題,磁盤安全性問題 / 升級(jí)服務(wù)器來避免來自SSL 漏洞的攻擊,等等?梢允褂胏ircleci,travis,shippable,他們不是很貴并且只需要關(guān)注價(jià)格就行;
  27. 使用playstore 來自動(dòng)化你的發(fā)布過程;
  28. 如果一個(gè)依賴庫很龐大并且你只是使用其中一小部分的功能,你應(yīng)該考慮一些其他更精簡(jiǎn)的選擇 (比如可以依賴 proguard );
  29. 不要使用你不需要的模塊。如果那個(gè) 模塊并不需要常常修改,考慮從零開始構(gòu)建的時(shí)間是很重要的(使用 CI 構(gòu)建就是一個(gè)很好的例子),或者檢查之前那個(gè)單獨(dú)構(gòu)建的模塊是否是最新的,相比起來只是簡(jiǎn)單的裝載那些二進(jìn)制的.jar/.aar 依賴庫,它能帶來 4 倍的提升;
  30. 開始考慮用 SVG 替換 PNG ;
  31. 如果你只需要改變一個(gè)地方(例如, AppLogger.d(“message”) 能包含Log.d(TAG, message) 并且之后發(fā)現(xiàn) Timber.d(message) 會(huì)是一個(gè)更好的解決方案),為依賴庫制作抽象的類會(huì)讓切換到新庫變得很容易;
  32. 監(jiān)視連接狀態(tài)和連接的種類 (在 WIFI 連接狀態(tài)下,是不是有更多的數(shù)據(jù)更新?);
  33. 監(jiān)視電源和電池 (在充電的過程中,是不是有更多的數(shù)據(jù)更新? 當(dāng)電池電量低的時(shí)候,更新過程會(huì)不會(huì)被暫緩);
  34. 如果一個(gè)笑話是需要解釋才能明白的話,那肯定是一個(gè)失敗的笑話,用戶界面亦是如此;
  35. 測(cè)試能帶來性能的提升: 慢工出細(xì)活(并且保證內(nèi)容的正確性),之后驗(yàn)證優(yōu)化,這不會(huì)影響任何測(cè)試內(nèi)容。

 

來自:http://www.androidchina.net/6011.html

 

標(biāo)簽: idc ssl 安全 代碼 服務(wù)器 漏洞 數(shù)據(jù)庫 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:Java正則表達(dá)式API詳解

下一篇:從.NET和Java之爭(zhēng)談IT這個(gè)行業(yè)