您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關有哪些Android熱點技術面試題,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
很多人面試之前,可能沒有在互聯網公司工作過或者說工作過但年頭較短,不知道互聯網公司技術面試都會問哪些問題? 再加上可能自己準備也不充分,去面試沒幾個回合就被面試官幾個問題打蒙了,最后以慘敗收場。
下述是我整理的Android面試題匯總,由于篇幅原因,在這只把熱點技術部分的題目列舉出來,后續還會更新其余面試題內容,大家可以關注一下我,及時知曉我更新的知識點,同時這份面試集錦的整理也花費了我很多時間!
組件化:是將一個APP分成多個module,每個module都是一個組件,也可以是一個基礎庫供組件依賴,開發中可以單獨調試部分組件,組件中不需要相互依賴但是可以相互調用,最終發布的時候所有組件以lib的形式被主APP工程依賴打包成一個apk。
組件化后的每一個業務的module都可以是一個單獨的APP(isModuleRun=false), release 包的時候各個業務module作為lib依賴,這里完全由一個變量控制,在根項目 gradle.properties里面isModuleRun=true。isModuleRun狀態不同,加載application和AndroidManifest都不一樣,以此來區分是獨立的APK還是lib。
當我們創建了多個Module的時候,如何解決相同資源文件名合并的沖突,業務Module和BaseModule資源文件名稱重復會產生沖突,解決方案在于:
每個 module 都有 app_name,為了不讓資源名重名,在每個組件的 build.gradle 中增加 resourcePrefix “xxx_強行檢查資源名稱前綴。固定每個組件的資源前綴。但是 resourcePrefix 這個值只能限定 xml 里面的資源,并不能限定圖片資源。
多個Module之間如何引用一些共同的library以及工具類
組件化之后,Module之間是相互隔離的,如何進行UI跳轉以及方法調用,具體可以使用阿里巴巴ARouter或者美團的WMRouter等路由框架。
各業務Module之前不需要任何依賴可以通過路由跳轉,完美解決業務之間耦合。
我們知道組件之間是有聯系的,所以在單獨調試的時候如何拿到其它的Module傳遞過來的參數
當組件單獨運行的時候,每個Module自成一個APK,那么就意味著會有多個Application,很顯然我們不愿意重復寫這么多代碼,所以我們只需要定義一個BaseApplication即可,其它的Application直接繼承此BaseApplication就OK了,BaseApplication里面還可定義公用的參數。
提到插件化,就不得不提起方法數超過65535的問題,我們可以通過Dex分包來解決,同時也可以通過使用插件化開發來解決。插件化的概念就是由宿主APP去加載以及運行插件APP。
在一個大的項目里面,為了明確的分工,往往不同的團隊負責不同的插件APP,這樣分工更加明確。各個模塊封裝成不同的插件APK,不同模塊可以單獨編譯,提高了開發效率。 解決了上述的方法數超過限制的問題。可以通過上線新的插件來解決線上的BUG,達到“熱修復”的效果。 減小了宿主APK的體積。
插件化開發的APP不能在Google Play上線,也就是沒有海外市場。
undefined
關于有哪些Android熱點技術面試題就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。