UI

UI可以說伴隨著我們每天的日常開發了,簡單的話,做做卡片,寫寫頁面。

不過避免也會經常有自定義控制項展示、各種跟手動畫效果,各種要求絲滑嵌套滾動。

好在這方面一般難度不大,大家一般對於自定義View的步驟,動畫的使用,滑動衝突一般都可以解決。

不過,依然有一些細節需要注意,自定義控制項的時候儘可能符合官方的規範,比如:

1. 不是迫不得己,不要隨便複寫dispatchTouchEvent,改變原有的分發邏輯;

2. 作為容器控制項,測量的時候,儘可能按照官方的方式,不要為了一時的需求,強制給子View設置固定值;

...

黑科技高深技術

關於黑科技,主要聊一下:

熱修復與插件化。

這兩個話題,其實很少有同學能夠從0到1的去實現,大多數可能都是使用現成的sdk,所以對原理掌握可能不是太深。

熱修復,主要分兩個大的流派:

一個是全量合成:例如微信的tinker,阿里的sophix;

一個是輕量級的類似於: 美團的Robust,餓了麼的Amigo等;

我聽過最多的問題就是Android P的大背景下,熱修復、插件化還能用麼?

其實輕量級的原理,都是在編譯時在方法中插入patch執行邏輯,如果只要代碼級別的fix,基本不依賴hide api,而且沒有兼容性問題。

對於插件化,以及全量合成的方案,都不可避免會受到P的影響,但是大廠基本上都做了處理,多數app中都有很多插件。

優化

優化是在app迭代週期中,每隔一段時間可能需要針對性的去做一次。

其中包含非常多的工具的使用,數據的分析,甚至會動用一些黑科技,例如使用插件化來減少包體積。

這三者哪個最重要呢?

我覺得好像都挺重要的,畢竟我們不能整天靠寫卡片度日,理應努力擴寬自己的技術認知和沉澱更多的技術方案與經驗。

最後,針對上面談的內容,這裡給大家整理一套系統完整學習資料,涵蓋了以上3個話題,能靈活運用起來肯定對大家幫助很大,

其中包含錄製好的視頻供大家下載,有一套比較齊全的大廠面試集錦;

有需要的朋友可以點擊這個小卡片獲取資料免費領取方式!

Android開發必備學習資源免費領取(架構視頻+面試專題文檔+學習筆記)?

shimo.im
圖標


推薦閱讀:
相關文章