給應用開發者編程的十一條個建議

隨着移動平臺的發展和其應用的不斷改善,質量成爲決定成敗的關鍵。用戶的要求也越來越高 。作爲程序開發者,在當下時代的我們是非常榮幸的,因爲有很多的參考資料和便利的開發工具方便我們去使用。但是同樣也意味着我們有很大的挑戰。如何保質保量的去有效率的開發,是沒有一個程序開發者所追求的。

以下是對應用開發者的10條建議,以便能幫助大家更有效的去編程,做一個高效率的碼農!

1)塑造一個良好的編碼風範

  一個優秀的開發者應該善於運用常識、完善的算法和標準設計模式。比如Java特點是面向對象的, 就意味着我們可以對其封裝,和簡化。做一個功能,就要把它當成人體一樣,手和腳能夠在同一時間內做不同的任務,相互之間不受影響,同時又收到到大腦中樞神經的控制。其次是要有資源釋放意識,打開了cursor就要記得關閉,儘量做到晚獲取,早釋放。

  

2)讓阻塞操作遠離主UI線程

1、Handler+Thread

2、AsyncTask

3、用服務的時候要用IntentService和自定義後臺服務。

因爲這些自帶的異步處理的組件能幫你省了很大額內存開銷。當有其他程序運行時,不會讓你的應用滯後或中止。

   

3)要學會使用最新的Android SDK版本和API

使用Android和Java的最新sdk可以更快的與時代同步。畢竟新出來的API是較爲穩定的,這樣一來可,擁有新的API可以更快的對問題進行解決和bug 的修復。新API有助於開發者編寫出更穩定的應用。要明白最佳的做法總是隨着時間的推移而變,聰明的開發者應該總是站在整個平臺的最前沿。

4)學會異常的捕獲(UncaughtExceptionHandler)

 Android系統碎片化造成應用程序崩潰嚴重,在模擬器上運行良好的程序安裝到某款手機上說不定就會出現崩潰的現象。而且,往往都是程序發佈之後在用戶端出現了崩潰現象。所以,如何及時捕獲並收集Android平臺的崩潰就顯得愈發重要
 
這個時候如果之前我們使用了異常捕捉機制,就方面多了。

注意:

1、在Android應用程序中
2、全局的Application和Activity、Service都同屬於UI主線程,線程名稱默認爲“main”。
3、所以,在Application中應該爲UI主線程添加UncaughtExceptionHandler
4、這樣整個程序中的Activity、Service中出現的UncaughtException事件都可以被處理。

### 5)儘量少使用第三方框架

很多人過多的依賴於第三方框架,導致最基礎的東西都忘記了,記得網上有這樣一個搞笑圖片:不要給我說什麼底層原理,框架內核,老夫敲代碼就是一把梭! 難道我們都受這樣的影響!聰明的程序員大部分都是自己寫框架,牢固基礎!

6)確保UI佈局簡單優雅

  簡單的屏幕展示不僅方便閱讀,還能加快加載速度。與其在一個單一屏幕上堆砌太多不必要的功能,不如花時間去開發優雅的用戶界面。簡單優雅的UI不僅能提高應用性能,還能提高用戶使用該應用時的效率。

7)根據目標設備調整應用資源

  爲儘可能高效地加載,需要根據具體設備的配置調整相應資源,尤其是圖片資源。爲使應用包文件合理適用不同設備,首先可只添加運行該應用需要的核心資源,然後再根據具體設備下載相關內容。

8)進行佈局優化

1、使用HierarchyViewerUI性能分析工具,分析佈局文件的性能,層級嵌套,UI佈局複雜程度及冗餘分析,View嵌套的冗餘層級,View的性能指標:測量、佈局、繪製的渲染時間。

2、Layoutopt是一款簡單的命令行工具,可幫助找到不必要的控件嵌套以及縮減佈局資源,從而使應用變得可能“苗條”。控件越少、佈局層次越淺,性能就越好。

9)要學會用工具進行分析

1、 使用Traceview性能分析工具分析

2、 如果使用eclipse的話可以選擇MAT工具

3、 第三方更智能的性能分析工具BlockCannery一個強大的Android程序調試工具,輕鬆幫你找出卡頓

4、 使用強大的AndroidStudio調試工具——Stetho

5、學會DDMS

6、 使用Hierachy Viewer可視化調試工具

7、 Hierachy Viewer能很方便地在開發者設計,調試和調整界面時,快速定位問題,解決問題,提高開發效率。

推薦博客(http://blog.csdn.net/axi295309 ... 33222
Android SDK自帶了很多用於應用分析的工具,其中最受歡迎的是Traceview,這款圖形工具可以幫助調試和找到應用中的性能瓶頸。

10)不要貪多,先把自己的飯碗的學精

無論你是做java方面的也好,做移動端的也好,且不能見什麼就學習什麼。反正我就是這樣的,如果學習另外一門語言,已經掌握7分度了。就算我們的android有些東西半年不用也會有所忘記的吧!每個人都有健忘性,也可能是我上了年紀了吧!我想作爲常人的你門也是如此吧!

畢竟沒有哪一門是最吃香的,畢竟沒有哪一門是最差的。要記住Android 開發者高薪多的去了,相信你就是下一個他!

11)爲什麼一定要注重Java基礎?

對於一個學習Android和Java的開發者來說,Java基礎十分的重要。爲什麼這麼說呢?

可能大多數人都忽略了這個問題。羣裏有位兄弟問我:爲什麼我工作三四年了,面試大公司老被虐,尤其是BAT這樣的大公司,有時候最基本的問題都回答的不好!
他說一個在某金融公司的面試題,用Node結點來模仿列表進行增刪改查。於是他琢磨了半天寫的是一塌糊塗。

看到這樣的情況,我竟有點吃驚!這不就是最簡單的自定義單鏈表嗎?於是我狠狠地‘批評’了他,編程的時候不要只用第三方的,對你來說也許最簡單的往往也是最最重要的,要注重Java方面的基礎!

是的,有些人確實已經做了三年多的開發,進大公司總是非常困難,其實原因可想而知。這就是爲什麼別人能夠寫一些開源框架而你不能!

結語

作爲新時代的碼農,靜下心來,循序漸進。程序員,你一屋不掃何以掃天下?這裏我提出了自己的一些見解,如果有那些地方說的不到位,還望大家交流指正。
最後祝願大家在這條道路上走的更高,更遠!

關於更多:

上半年技術文章集合—184篇文章分類彙總

NDK項目實戰—高仿360手機助手之卸載監聽

最新2017(Android)面試題級答案(精選版)

“你還有什麼事想問”——如何回答面試官的問題

Android 圖片選擇到裁剪之步步深坑


轉自http://ask.android-studio.org/?/question/1846

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章