高級UI、黑科技、性能優化,你覺得哪個最重要?
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開發必備學習資源免費領取(架構視頻+面試專題文檔+學習筆記)