android技術中,線程、進程、JNI、IPC和各個小框架結構是基本功。在跟隨高煥堂老師的android程序猿到架構師之路系列視頻中 學習完基礎篇之后,頗有些心得,記錄下來。
android開發就是app開發嗎?曾聽過很多人說android學習很簡單,做個app輕松就上手了。我一直覺得不以為然,許多程序員做app開發時,心中大致只有四大組件、各種布局、數據庫和一些常用控件。對於各小框架、線程間通信、綁定服務、java與c的對接等基本原理並不清楚,也沒必要弄清楚。
最近學校搞了一個實訓,要求做一個拼圖游戲。面對一些特別的需求,出現一些奇特的bug,另一個同樣學android 但是重心放在實現而非原理上的小伙伴覺得壓力挺大。在我看來假如他學習過view框架的一些細節,像onDraw() invalidate()、onMeasure()函數這些,就很容易解決了。所以我認為,學習一項技術最好還是要懂原理,成體系零散的知識點看起來很誘人,能在很快時間內做出炫酷的效果。想着反正實現功能就好了嘛,何必糾結那么多。 這樣的心態要不得,越零散越容易忘,越要重新學。所謂磨刀不誤砍材工,系統的去學、有自己的見解、將知識融會貫通自成一套體系,長期堅持必然能擁有不凡的基本功,也擁有舉一反三的能力。就技術而言,我個人覺得還是得挑難學的技術學,因為難所以核心,因為難所以有門檻。只要你堅持住了,將大大提高自己的核心競爭力。一句話總結,學東西重基礎、成體系、能攻關,比所謂為了開發效率速成的技術來得有價值。
android開發不僅僅是app開發,整個android體系龐大繁復,其中蘊含了許多匠師精巧的設計,在學習androi的同時多去關注android的設計理念,看看框架的實現思路甚至讀讀源代碼,這對程序員的自身修養和實力都大有進益。
最后,希望自己在架構師的路上不斷前行,原各位同道在搞技術的同時多多思考。