Android開發(fā)中10種填坑秘籍
原創(chuàng)【51CTO.com原創(chuàng)稿件】Android開發(fā)過程常見的坑有三類:開發(fā)工具選取、技術文檔、列表頁加載
Android開發(fā)
開發(fā)工具選取
1、開發(fā)中遇到的坑,說一個IDE的選擇,我建議,使用你擅長的IDE,很多時候,面對大家都說好的IDE,盲目的跟風,結果把很多時間浪費在折騰IDE上了。(北京-陽陽-安卓)
2、Eclipse 和Android Studio對比,HTML和原生對比,MVC、MVP、MVVM對比。技術選型影響的成本對比、性能對比等等。適合自己,擅長的工具,這個對于新人一開始很難判斷的,很多人也都有過把每一個IDE都玩?zhèn)€遍,最后才固定下來。IDE說到底是為提高開發(fā)效率,方便維護代碼的工具,如果一個工具能實現你目前開發(fā)能力所需要的,那就夠了。不需要極度追求完美,有強大復雜功能的,有也很少用,多此一舉,甚至為此花不少時間去學配置。(廣州-益達-大數據)
3、AS確實方便不少,HTML和原生還是根據自己公司的業(yè)務需求來。(重慶-zee-終端)
4、Android開發(fā)代碼規(guī)范優(yōu)美很重要,特別是可讀性和可拓展性,APP是頻繁更新的產品,如果前期開發(fā)不考慮這個,后期維護和升級成本會遠遠大于開發(fā)成本,甚至成了一次性的東西。個人用文本編輯器的時間,比用IDE來的多。固定一個,用久了,快捷鍵也慢慢記住了。(廣州-狄欽dQ-PHP)
5、高手記事本都可以寫出優(yōu)雅的代碼出來,但即便給新手再強大的工具都未必寫的好。重視基礎,做你擅長,其余外包,常見搭配Sublime Text+Vim(成都-恩威-云計算)
6、開發(fā)用過Eclipse和Android Studio,這兩種工具的切換最不習慣的是快捷鍵。現在基本固定是AS了,只有很少時候需要用到Eclipse,但那快捷鍵用起真是捉急。(重慶-小包-Android)
更新文檔,特別是做好需求分析
7、項目伊始的話,盡量多寫文檔。類文檔,協議接口,接口負責人, 需求文檔,需求負責人。(深圳-sky-c++開發(fā))
8、沒有文檔就不好處理,尤其是代碼亂的情況下。很多代碼寫完了,在里面注視一個此處邏輯有問題。雖然有文檔和設計圖,但都是最老版本,后續(xù)改的可能與老版本的文檔不一樣。但究竟是哪里不一樣卻沒有更新標注。最后,只能通過代碼來看業(yè)務要實現的功能。所以實時更新文檔,記錄每一處變更很重要。(成都-哈韓浪子-JAVA)
9、Android開發(fā)要寫好文檔,特別是做好需求分析。引導客戶了解他們需要什么系統(tǒng)??梢酝ㄟ^設計原型讓客戶了解需求。做好前期的系統(tǒng)規(guī)劃,把握開發(fā)流程。不斷迭代,不斷與客戶交流,完成系統(tǒng)。按照計劃執(zhí)行,按流程走。否則會死的很慘,心有體會。(合肥-飛哥-Java)
列表頁加載
10、Android開發(fā)中講一個坑,列表頁加載。開始用 Image-Loader時, 大量的圖片 card,真心是慢。首先,WeakRefence弱引用,效果不好, 時不時的OOM。于是反復對比了幾個框架,重新確定了Glide庫。效果好多了,但還是有OOM的事情出現,debug整個加載流程,發(fā)現原圖本來就大,傳輸和Decoder花費的時間占比最大。so解決數據源的問題, 圖片存儲采用云存儲,當時在七牛和阿里云中間選擇了七牛。并把圖像處理的功能交給云服務。最終,該頁面的OOM降低到了 0.01% 以下。同時應用中的OOM也降低到了 0.3% 以下。這算是 OOM的一種填坑方法吧。
還有一個,在兩年前的一個Android項目中,采用了UDP來上傳日志,發(fā)現有的時候可以上傳成功,有的時候不行,百思不解,邏輯刷了三遍沒問題。在反復制造測試數據的過程中發(fā)現,上傳周期內如果數據量大于一定數值就會出現該現象,對UDP的數據包限制問題,加一個循環(huán)判斷,問題解決。
歡迎加入51CTO開發(fā)者QQ交流群 370892523學習。
【51CTO原創(chuàng)稿件,合作站點轉載請注明原文作者和出處為51CTO.com】