Android開發掌握什麼技術才不會被淘汰
曾聽過很多人說Android學習很簡單,做個App就上手了,工作機會多,畢業後也比較容易找工作。這種觀點可能是很多Android開發者最開始入行的原因之一。
在工作初期,工作主要是按照業務需求實現App頁面的功能,按照設計師的設計稿實現頁面的效果。
在實現的過程中,總是會被提如下的需求:
這個字能不能大點或者醒目點兒?
顏感覺顏色和設計稿有差別,能不能再調調?
怎麼老是崩潰啊,行不行啊?
......
所以,工作過一年後你會發現,自己的工作重點就是將找各種各樣的元件、框架,拖拖拽拽,改改樣式。在極端情況下出現了問題後(比如部分機型上崩潰,載入圖片慢),也不知道該如何解決!都不好意思說自己是搞技術的。
造成這種局面的有兩種原因:
所開發的App功能要求並不複雜,在效能上呢,也不需要極致的追求;
自己的意識不夠,不知道如何從平凡的工作中提煉可優化的點,在向上提升方面也沒有完整的規劃。
從自身規劃的角度講,技術上的進階分如下幾個階段:
做好業務需求的功能。這個是初級程式設計師就應該有的能力。
解決極端情況下的技術問題,比如效能優化,OOM等。稍有點規模的公司,肯定都會遇到這種問題,比如上文中說的App在部分機型上崩潰、頁面載入不出來等。只是大部分程式設計師會覺得難以復現,或者是因為小概率事件而忽略了。在忽略這些問題的過程中,也放棄了進一步提升的可能性。還有一部分程式設計師是看到了這些問題,但一直不知道怎麼解決,因為這些問題的產生基本都是要往底層框架去找原因,而平時只關注上層的業務邏輯程式碼,因而沒有深入研究底層的原理,導致心有餘而力不足。
在開發框架和效率上做文章。舉個例子,很多程式設計師說自己的精力都在和產品的撕逼中浪費了,但有沒有想過,能夠通過技術手段將自己從繁雜的無技術含量的工作中解救出來?比如是否能夠做到只編寫一次程式碼,或者改個配置引數就能夠做到在不同平臺上執行。更高的要求是,能否將這些方案做成通用框架或產品。
上面列舉的幾個階段,首先要從思考方式上去逼迫自己不斷地逼迫自己,不要偷懶。其次,要想按照上述階段發展,還需要落在實處,在具體的技術體系中不斷的學習。
舉個例子:
對於OOM,需要知道有哪些優化工具可以使用(Lint、MAT等),如何檢測OOM,以及垃圾回收機制等深層次的原理。對於效能優化來說,如何減少apk體積、資源動態載入等都是必會的。以下是效能優化相關思維導圖。
(Android效能優化思維導圖)
在體系化的學習過程中,部落格、書籍、視訊課程都是較好的學習手段。
鑑於Android也是基於java語言的,因此很多與java相關的基礎也是必須掌握的,比如《深入理解Java虛擬機器》、《Effective Java》等相關書籍也是必讀的。
Android相關的書籍包括《Android權威程式設計指南》、《Android開發藝術探索》等,進一步的還可以去閱讀Android相關原始碼,配合《Android原始碼設計模式解析與實戰》等書籍,對閱讀原始碼大有裨益。
(Android學習推薦書籍)
如果你依然覺得有些茫然,不如跟有多年Android開發經驗的資深工程師聊一聊。
2月25日-3月3日,網易雲課堂為你帶來兩大福利,資深工程師帶你突破Android開發技術瓶頸,向你傳道UI/NDK開發 · 效能優化 · 架構設計 · Flutter開發,每天2小時,密集輸入Android開發相關知識及經驗,幫你快速實現技術和職業成長上的突破。
福利1 免費直播課程
《網易雲課堂Android進階免費系列直播課》
適聽人群:Android初、中級開發工程師
2.25-3.3 為期6天每晚8點準時直播
▼
2月25日:APK極致優化的九道工序
2月26日:事件分發機制完全解析,帶你從原始碼的角度徹底理解
2月27日:EventBus原理解析及手寫框架
2月28日:揭祕IOC注入框架,實現RecyclerView條目點選
3月1日:動態載入第三方應用 - 外掛化架構詳解
3月3日:高階UI架構指南-Bezier自定義動畫框架
福利2 Android開發資料包
報名方式:
掃描下方二維碼新增助教小姐姐微信,
通過稽核後即可免費報名
免費課程,名額有限,先到先得~~
相關文章
- 雲端計算開發技術,企業linux運維掌握這些技術才不會被淘汰Linux運維
- Android面試題整理,Android開發者應該會哪些東西才不會被公司淘汰?內含福利Android面試題
- 新技術新框架不斷湧現,目前學習web前端開發都要掌握什麼?框架Web前端
- Hadoop分散式檔案系統(HDFS)會不會被淘汰?Hadoop分散式
- Web前端開發掌握的技術Web前端
- Java開發之掌握JSP技術JavaJS
- 在網上賭玩什麼平臺才不會被黑
- 前端開發技術-promise是什麼?前端Promise
- 掌握Linux運維技術可以做什麼工作?Linux運維
- android 開發之 APT 技術AndroidAPT
- 用最新技術不斷完善影像世界 | Android 開發者故事Android
- 什麼樣的“氪金”設計才不會令玩家反感?
- SpringCloud 和Dubbo 誰會被淘汰?SpringGCCloud
- 平面設計會被淘汰嗎?
- GreatSQL 中為什麼 Update 不會被鎖等待SQL
- 不會PS技術做電商有什麼快速作圖工具?
- Android開發技術面總結Android
- 40歲的報表工程師被“最佳化”:報表不會做,只能被淘汰工程師
- 2019 年,容器技術生態會發生些什麼?
- 吳軍:ChatGPT不算新技術革命,帶不來什麼新機會ChatGPT
- 後端開發者需要掌握的技術棧後端
- 騰訊為什麼不投資技術?
- 開發中不會使用Git是種什麼體驗Git
- 區塊鏈溯源技術是什麼?區塊鏈溯源技術開發區塊鏈
- OPPO Android開發技術面總結Android
- 什麼樣的文章一定不會被推薦?
- Web開發中,什麼級別才算是高併發Web
- 區塊鏈技術開發怎麼做?區塊鏈如何實施才可靠?區塊鏈
- 網站為什麼會打不開網站
- 技術團隊為什麼要堅持開展技術分享會以及落地實施
- Android 開發技術週報 Issue#269Android
- Android開發工程師(雲技術方向)--急聘Android工程師
- Android 開發技術週報 Issue#288Android
- Android 開發技術週報 Issue#279Android
- 為什麼DRAM採用地址複用技術?為什麼SRAM不採用地址複用技術?
- Android開發為什麼要用MVP?AndroidMVP
- java開發必須要掌握的20個核心技術Java
- 2020年Web前端開發工程師市場怎麼樣?學會什麼技術才能拿到高薪Web前端工程師高薪