有哪些Android熱點技術(shù)面試題-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)有哪些Android熱點技術(shù)面試題,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的易門網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

前言

很多人面試之前,可能沒有在互聯(lián)網(wǎng)公司工作過或者說工作過但年頭較短,不知道互聯(lián)網(wǎng)公司技術(shù)面試都會問哪些問題? 再加上可能自己準(zhǔn)備也不充分,去面試沒幾個回合就被面試官幾個問題打蒙了,最后以慘敗收場。

下述是我整理的Android面試題匯總,由于篇幅原因,在這只把熱點技術(shù)部分的題目列舉出來,后續(xù)還會更新其余面試題內(nèi)容,大家可以關(guān)注一下我,及時知曉我更新的知識點,同時這份面試集錦的整理也花費了我很多時間!

1.組件化

(1)概念:

組件化:是將一個APP分成多個module,每個module都是一個組件,也可以是一個基礎(chǔ)庫供組件依賴,開發(fā)中可以單獨調(diào)試部分組件,組件中不需要相互依賴但是可以相互調(diào)用,最終發(fā)布的時候所有組件以lib的形式被主APP工程依賴打包成一個apk。

(2)由來:
  1. APP版本迭代,新功能不斷增加,業(yè)務(wù)變得復(fù)雜,維護成本高
  2. 業(yè)務(wù)耦合度高,代碼臃腫,團隊內(nèi)部多人協(xié)作開發(fā)困難
  3. Android編譯代碼卡頓,單一工程下代碼耦合嚴(yán)重,修改一處需要重新編譯打包,耗時耗力。
  4. 方便單元測試,單獨改一個業(yè)務(wù)模塊,不需要著重關(guān)注其他模塊。
(3)優(yōu)勢:
  1. 組件化將通用模塊獨立出來,統(tǒng)一管理,以提高復(fù)用,將頁面拆分為粒度更小的組件,組件內(nèi)部出了包含UI實現(xiàn),還可以包含數(shù)據(jù)層和邏輯層
  2. 每個組件度可以獨立編譯、加快編譯速度、獨立打包。
  3. 每個工程內(nèi)部的修改,不會影響其他工程。
  4. 業(yè)務(wù)庫工程可以快速拆分出來,集成到其他App中。
  5. 迭代頻繁的業(yè)務(wù)模塊采用組件方式,業(yè)務(wù)線研發(fā)可以互不干擾、提升協(xié)作效率,并控制產(chǎn)品質(zhì)量,加強穩(wěn)定性。
  6. 并行開發(fā),團隊成員只關(guān)注自己的開發(fā)的小模塊,降低耦合性,后期維護方便等。
(4)考慮問題:
模式切換:如何使得APP在單獨調(diào)試跟整體調(diào)試自由切換

組件化后的每一個業(yè)務(wù)的module都可以是一個單獨的APP(isModuleRun=false), release 包的時候各個業(yè)務(wù)module作為lib依賴,這里完全由一個變量控制,在根項目 gradle.properties里面isModuleRun=true。isModuleRun狀態(tài)不同,加載application和AndroidManifest都不一樣,以此來區(qū)分是獨立的APK還是lib。

在build.grade里面配置:

有哪些Android熱點技術(shù)面試題

資源沖突

當(dāng)我們創(chuàng)建了多個Module的時候,如何解決相同資源文件名合并的沖突,業(yè)務(wù)Module和BaseModule資源文件名稱重復(fù)會產(chǎn)生沖突,解決方案在于:

每個 module 都有 app_name,為了不讓資源名重名,在每個組件的 build.gradle 中增加 resourcePrefix “xxx_強行檢查資源名稱前綴。固定每個組件的資源前綴。但是 resourcePrefix 這個值只能限定 xml 里面的資源,并不能限定圖片資源。

依賴關(guān)系

多個Module之間如何引用一些共同的library以及工具類

組件通信

組件化之后,Module之間是相互隔離的,如何進行UI跳轉(zhuǎn)以及方法調(diào)用,具體可以使用阿里巴巴ARouter或者美團的WMRouter等路由框架。

各業(yè)務(wù)Module之前不需要任何依賴可以通過路由跳轉(zhuǎn),完美解決業(yè)務(wù)之間耦合。

入口參數(shù)

我們知道組件之間是有聯(lián)系的,所以在單獨調(diào)試的時候如何拿到其它的Module傳遞過來的參數(shù)

Application

當(dāng)組件單獨運行的時候,每個Module自成一個APK,那么就意味著會有多個Application,很顯然我們不愿意重復(fù)寫這么多代碼,所以我們只需要定義一個BaseApplication即可,其它的Application直接繼承此BaseApplication就OK了,BaseApplication里面還可定義公用的參數(shù)。

2.插件化

(1)概述

提到插件化,就不得不提起方法數(shù)超過65535的問題,我們可以通過Dex分包來解決,同時也可以通過使用插件化開發(fā)來解決。插件化的概念就是由宿主APP去加載以及運行插件APP。

(2優(yōu)點)

在一個大的項目里面,為了明確的分工,往往不同的團隊負責(zé)不同的插件APP,這樣分工更加明確。各個模塊封裝成不同的插件APK,不同模塊可以單獨編譯,提高了開發(fā)效率。 解決了上述的方法數(shù)超過限制的問題。可以通過上線新的插件來解決線上的BUG,達到“熱修復(fù)”的效果。 減小了宿主APK的體積。

(3缺點)

插件化開發(fā)的APP不能在Google Play上線,也就是沒有海外市場。

undefined

關(guān)于有哪些Android熱點技術(shù)面試題就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享題目:有哪些Android熱點技術(shù)面試題-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article4/csjsie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站制作建站公司、外貿(mào)建站、云服務(wù)器微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)