Android 發展思路

來源:互聯網
上載者:User

標籤:指標   res   版本   過程   tcpdump   理由   而且   標準   常見   

1. 有 “特點” 的程式員,會很吃香

Android 開發,本身並不是一個可以走得多遠的方向,真正有價值的地方在於與具體的業務方向結合,比如:Android 與音視頻技術,Android 與智能硬體互動,Android 與前端技術的融合與探索,Android 資訊安全,Android 源碼深度定製等等……早日找到一個感興趣的方向,深入探索和積累,而不僅僅局限於研究 Android API 本身,這樣才能走得更遠,才能有更好的前途。”  

所以,要讓自己在團隊裡更加有 “存在感”,要想將來的發展越來越好,你就不應該只滿足成為一個會寫 App 介面的 Android Programmer,而是要差異化地 “積累” 自己感興趣的技術,並且成為這個領域的專家。

2. 嚴格要求自己,不要犯 “低級” 錯誤 

最近有跟第三方合作,用了他們的庫,各種 “低級” 錯誤多次激怒了我,有 NULL 指標異常、有參數配置不生效、有設定了訊息回調卻沒有回調、每次修複 Bug 後又帶入新的 Bug,等等等等。

雖然他們做的功能總體來說是很牛逼的,但是這一系列的 “低級” 錯誤,一次又一次地拉低了我對他們技術的認同度和信任度。

我始終認為,代碼中有 Bug 是難免的,但是無論是寫 C,C++ 還是 Java,避免 NULL 指標 crash,函數形參檢測,這些都是一個成熟的程式員的基本技能,不應該找任何理由和借口。 

3. 善於總結排查問題的工具和技能

今年我有遇到一些客戶的 Android 開發人員,竟然不知道如何在命令列下用 adb 打 log 或者不知道怎麼過濾 log,著實讓我感到驚訝,列印和分析日誌也是程式員的一項基本功,而且我們還不應該僅局限於此,我們還應該在工作中不斷去積累一些有用分析手段、分析工具和網站,比如: 

- 如何檢測 Android 的記憶體流失、CPU 佔用、Memory 佔用

- 如何用 ndk-stack 分析 Android Native 庫的 crash 

- 如何用 wireshark , tcpdump 抓包以及分析協議問題

- 如何用 curl, dig, mtr, telnet, netstat 等命令排查網路問題

- 如何驗證 YUV 資料、PCM 資料是否正確

- 如何分析 RTMP流、HLS流的異常、卡頓、時間戳記等問題

- 收藏一些不錯的工具網站,如:http://www.17ce.com,http://ip.cn/,http://www.speedtest.cn/ 等等   

4. 永遠要設定 deadline,完成比完美更重要

身在互連網行業我們能做的,就是要有一套自己的 “優先順序”,先出版本,再談最佳化。

有的時候,懂得合理地細化任務,也是一種能力。一般我拿到一個大的需求,肯定會把它細化成一個個小的任務,並且按照如下標準來進行分類和排序,甚至給出每個小任務的 deadline : 

- 基礎模組,其他工作需要依賴此模組

- 涉及到介面的定義或者修改的工作

- 當前必須支援的功能點

- 可以後期增加的功能點

- 可以後期最佳化的地方

當然,根據實際情況還可以繼續細分。每當做完一個小的任務,就會先充分地測試,保證其正確性和穩定性後,儲存一個版本,當必須支援的功能點完成後,至少已經有了一個可交付的版本了。 

這裡還需要強調的一點是,“完成” 並不是說帶著很多 Bug 的完成,而是說一個穩定但不一定功能齊全的版本,因此,千萬不要用 “完成而不完美” 作為忽略交付品質的借口。 

5. 知其然也要知其所以然 

這是一個老生常談的話題,但是確確實實很多人沒有做到,特別是在面試的時候,經常遇到很多人對自己親自做過的東西理解完全不夠,這可能是一個態度問題,不願意花時間去鑽研,或許這種鑽研的確是一個比較費腦細胞的過程,但對於那些對技術充滿熱情的人,其實是一種享受。

舉個例子:對於播放器開發,不能只是做過,或者用過,儘可能知道其原理。列舉最常見的3 個問題:

- 從傳入 URL 到第一幀視頻渲染成功的整個流程

- 播放器有幾個緩衝區,如何管理的,如何設計的

- 音視頻同步是如何?的 

每個問題都可以再深挖幾層,基本上可以判斷其掌握程度和鑽研精神,會用第三方播放器的人很多,會用 ffmpeg 的人也逐漸層多,但能改 ffmpeg 能自己解析流媒體協議,能自己編寫出播放器的人,才能成為這個領域真正的大牛 。 

Android 發展思路

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.