從 14 年學習 Android 至今,經歷了各種應用架構的變化,下面,我們來一起回顧下曾經 Android 開發的青蔥歲月,
IDE
那時候的 Eclipse 是非常流行的 IDE,他提供了各種插件開發的能力,一點也不遜現在的 idea,Android 就是通過 ADT 插件來使開發者能在 eclipse 上進行開發, ?
那時候沒有 gradle 這種 implements 直接參考專案模塊,如果要依賴專案模塊的話,需要通過 build path 勾選模塊,將他添加到當前專案,這時候才能通過專案代碼參考到他,那時候對外發布依賴都是 jar 包 , ?
剛去找了下 Eclipse for Android 的開發包,目前 release 版本定格在 2016 年 5月 27 號,然后找到了一篇 Android Studio 橫空出世的文章《Google Says Final Goodbye to Eclipse IDE for Android Development》,真的是物是人非,
貼一張 eclipse 的專案結構圖:

網路庫
記得第一個練手的專案,用的網路框架是 HttpURLConnection,簡單的 get 請求就能拿到資料并展示到頁面上,非常有成就感,主要還是因為那時候是剛學的 java ,過渡到寫 Android ,第一反應就是用 jdk 自帶的這個網路請求,隨著從《瘋狂 Android 講義》學習到的一些知識,發現 Android 有自帶的網路請求框架 HttpClient,那時候可是稱霸的存在,
隨著優秀的開發者涌入 Android 懷抱,越來越多優秀的框架出來,為了解決我們專案中各種各樣的問題,就有人提出了一套式的解決框架,叫 xUtils,他提供了非常多的功能,有上傳、下載、網路請求、圖片加載、資料庫等等功能,
隨著 Android 用戶的日益增加,性能優化也被提了出來,這時候 Volley 開始登場,支持自定調度網路請求,支持多個并發的網路連接,名聲也大造了一小會,但他缺點也有,不適合 post 大量資料,以及不適合上傳下載大量檔案,那時候我也只記得用過一小段時間的 volley,
以上的所有網路庫,在 square 發布 okhttp 后,都失去了色彩,可以這么說,okhttp 為Android 統一網路請求庫做出了卓越的貢獻,直到現在,我們依然還在用 okhttp,吊打般的存在,
圖片庫
不知道你們有沒有做過串列加載網路圖片的需求,那時候可沒有 Glide 這么簡單好用的工具,直接一個 load(url).with(image) 就可以了,我們在串列中拿到圖片 url 的時候,會通過 HttpURLConnection 去請求網路圖片,然后通過 BitmapFactory 將 stream 流轉成 bitmap,然后塞到 ImageView 的 tag 里面,如果 tag 不為空,則取出來設定到 ImageView 上,這還是最初級的,好一點的就是通過 url 為 key,做一個 Bitmap 快取,imageView 的 tag 中直接記錄 url 即可,
后來出現了一款框架叫 image-Loader,只需要傳圖片 url 和 imageView 就可以了,自動幫你完成圖片加載,那時候非常受歡迎,我現在又去 github 搜了他一下,17 個月之前居然還有 update,也是奇跡,
后來我接觸到了 Picasso,后面才接觸到的 Glide,那時候有一篇兩者性能對比的文章分析,說 Picasso 采用的 ARGB_8888 來加載圖片,Glide 采用的是 RGB_565 來加載圖片,Glide 圖片占用更小,性能更好, Fresco 也聽說過,但一直沒用過,就是感覺侵入式有點大,xml 中要寫 fresco 提供的 SimpleDraweeView 來加載網路圖片,
隨著 kotlin 的發展,coil 也橫空出世,一款更適合與協程來搭配使用的圖片加載庫,
View 控制元件
那時候 ListView 還很流行,面試題也很簡單,只要答對了采用 holder 優化多次 findViewById 問題即可, ?
布局也是各種嵌套,各種 RelativeLayout,現在的你們還有聽說過絕對布局 AbsoluteLayout 嗎? ?
架構
那時候一個 Activity 寫上幾千行代碼都不算什么事,大部分從事 Android 的有很多是從后端轉過來的,所以,MVC 開發模式非常流行,隨著客戶端開發人員的增多,為了實作模塊復用,才提出的 MVP 這種開發模式,MVVM 模式的應用,也是 databinding 的出現才讓 MVVM 有所發揮, ?
博客
那時候 Android 開發社區也少,印象中第一個接觸的是 iteye , 后面開始接觸的 csdn,當然,那時候 csdn 還是比較純粹的,我的第一篇文章就是在 csdn 發表的,
總結
還有很多有趣的點一時半會也沒辦法記起,只能隨著時間推移走向遺忘 ?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/299216.html
標籤:其他
