今天為大家分享20個安卓應用開發(fā)工程師必須知道的知識點,完全掌握這些知識點之后,有助于你理解和學習Android系統(tǒng)源碼。
安卓應用開發(fā)工程師必須知道的20個知識點
1)Activity相關
App應用開發(fā),以Activity使用多,設計LaunchMode、onSaveInstanceState、生命周期等技術。
2)Fragment相關技術
用的人不少,明白是怎么回事的人不多,推薦一本書《Creating Dynamic UI Android Fragments》
3)序列化技術
有Parcelable與Serializable兩種。前者是基于Service的,后者是基于Bundle的,二者實現原理不同,但是達到的效果近似。
4)ImageLoader的原理和使用
類似的,還可以學習Facebook新近開源的Fresco,它對圖片的處理會更好一些。
5)fastJSON或GSON的使用
做App不會用實體自動匹配JSON數據,相當于白做。
6)多線程相關
包括Handler、Looper、ExecutorService等。
7)Adapter和ListView
這兩個技術捆在一起,經常容易崩潰,尤其是分頁的時候,要仔細研究深刻領會。
8)用戶Cookie設計
需要把登陸機制徹底搞清楚,包括在HttpRequest頭中夾帶Cookie來進行用戶身份驗證的技術。
9)網絡請求封裝
使用AsyncTask的網絡底層封裝,使用Handler+Runnable的網絡底層封裝。
10)Android與HTML5的交互
包括Android調用Html5的方法,以及HTML5調用Android的方法。
11)代碼混淆
沒有用過ProGuard,不知道keep相關語法,就仍是初級水平。
12)Android打包機制
涉及Android SDK中的若干命令。對Android打包過程做的每一件事都很清楚。進一步是Android多項目以來的打包技術。Ant、Gradle或者Maven,掌握其中任何一種打包機制即可。
13)線上Crash分析并修復
要具備通過分析Crash信息修復線上Crash的能力。
14)內存泄露
包括內存優(yōu)化、Eclipse或Android Studio的調試功能。
15)調試工具
包括DDMS、Eclipse或Android Studio的調試功能。
16)Monkey機制
Android開發(fā)人員如何對一款App進行Monkey測試。附加技能~
17)單元測試
JUnit。對復雜的算法寫過單元測試以保證其沒有問題。
18)Git的高級功能
包括Stage、Rebase、Revert、Stash、Cherry Pick和Sub Module等概念。如果項目中使用的是SVN,要掌握SVN的版本管理策略。
19)插件化編程
哪怕知道一點DexClassLoader的概念也好。這年頭,沒做過插件化編程,出門面試都不好意思說自己是Android開發(fā)的。
20)設計模式
對常見的設計模式如工廠、生成器、適配器、代理、策略模式耳熟能詳。
想要做一個高級安卓應用開發(fā)工程師好研究一下Android系統(tǒng)源碼,而在此之前你需要掌握以上這些知識點。
熱點新聞