Android進(jìn)階學(xué)習(xí)有哪些知識(shí)點(diǎn)

本篇文章給大家分享的是有關(guān)Android進(jìn)階學(xué)習(xí)有哪些知識(shí)點(diǎn),小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

廣安ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

一、Binder

1、介紹Binder

Binder是Android中特有的IPC方式?;贐inder,Android還實(shí)現(xiàn)了其他的IPC方式,比如AIDL、Messenger和ContentProvider。Binder的優(yōu)點(diǎn)在于效率高、安全性好。

2、Binder的通信過(guò)程

Android進(jìn)階學(xué)習(xí)有哪些知識(shí)點(diǎn)

(1)Server在Service Manager中注冊(cè):Server進(jìn)程在創(chuàng)建的時(shí)候,也會(huì)創(chuàng)建對(duì)應(yīng)的Binder實(shí)體,如果要提供服務(wù)給Client,就必須為Binder實(shí)體注冊(cè)一個(gè)名字。

(2)Client通過(guò)Service Manager獲取服務(wù):Client知道服務(wù)中Binder實(shí)體的名字后,通過(guò)名字從Service Manager獲取Binder實(shí)體的引用。

(3)Client使用服務(wù)與Server進(jìn)行通信:Client通過(guò)調(diào)用Binder實(shí)體與Server進(jìn)行通信。

二、 序列化

Android的序列化方式:為了解決Android中內(nèi)存序列化速度過(guò)慢的問(wèn)題,Android使用了Parcelable。

Android進(jìn)階學(xué)習(xí)有哪些知識(shí)點(diǎn)

三、Framework

1、App的啟動(dòng)過(guò)程

(1)ActivityThread:依賴于Ui線程,實(shí)際處理與AMS中交互的工作。

(2)ActivityManagerService:負(fù)責(zé)Activity、Service等的生命周期工作。

(3)ApplicationThread:System Server進(jìn)程中ApplicatonThreadProxy的服務(wù)端,幫助System Server進(jìn)程跟App進(jìn)程交流。

(4)System Server:Android核心的進(jìn)程,掌管著Android系統(tǒng)中各種重要的服務(wù)。

2、Apk安裝的主要步驟

(1)將apk文件復(fù)制到data/app目錄

(2)解析apk信息

(3)dexopt操作

(4)更新權(quán)限信息

(5)完成安裝,發(fā)送Intent.ACTION_PACKAGE_ADDED廣播

四、Context

1、概念

不論是Android小白還是經(jīng)驗(yàn)豐富的Android開發(fā)者,對(duì)Context都不會(huì)陌生。在加載資源、啟動(dòng)一個(gè)新的Activity、獲取系統(tǒng)服務(wù)、獲取內(nèi)部文件(夾)路徑、創(chuàng)建View操作時(shí)等都需要Context的參與,可見Context的常見性。Context字面意思上下文,或者叫做場(chǎng)景,也就是用戶與操作系統(tǒng)操作的一個(gè)過(guò)程。

2、Context的應(yīng)用場(chǎng)景

Android進(jìn)階學(xué)習(xí)有哪些知識(shí)點(diǎn)

五、Android性能優(yōu)化

性能優(yōu)化是Android進(jìn)階學(xué)習(xí)的一個(gè)重要知識(shí)點(diǎn)。關(guān)于Android的性能優(yōu)化我們可以從布局、繪制、內(nèi)存優(yōu)化

(1)布局優(yōu)化

如果父控件有顏色,也是自己需要的顏色,那么就不必在子控件加背景顏色;如果每個(gè)自控件的顏色不太一樣,而且可以完全覆蓋父控件,那么就不需要再父控件上加背景顏色;盡量減少不必要的嵌套;能用LinearLayout和FrameLayout,就不要用RelativeLayout,因?yàn)镽elativeLayout控件相對(duì)比較復(fù)雜,測(cè)繪也想要耗時(shí)。

(2)繪制優(yōu)化

一方面onDraw方法中不要做耗時(shí)的任務(wù),也不做過(guò)多的循環(huán)操作,特別是嵌套循環(huán),雖然每次循環(huán)耗時(shí)很小,但是大量的循環(huán)勢(shì)必霸占CPU的時(shí)間片,從而造成View的繪制過(guò)程不流暢。另一方面,除了循環(huán)之外,onDraw()中不要?jiǎng)?chuàng)建新的局部對(duì)象,因?yàn)閛nDraw()方法一般都會(huì)頻繁大量調(diào)用,就意味著會(huì)產(chǎn)生大量的零時(shí)對(duì)象,不進(jìn)占用過(guò)的內(nèi)存,而且會(huì)導(dǎo)致系統(tǒng)更加頻繁的GC,大大降低程序的執(zhí)行速度和效率。

(3)內(nèi)存優(yōu)化

內(nèi)存泄漏指的是那些程序不再使用的對(duì)象無(wú)法被GC識(shí)別,這樣就導(dǎo)致這個(gè)對(duì)象一直留在內(nèi)存當(dāng)中,占用了沒(méi)來(lái)就不多的內(nèi)存空間。因?yàn)橛袃?nèi)存泄漏,所以內(nèi)存被占用越來(lái)越多,那么GC會(huì)更容易被觸發(fā),GC會(huì)越來(lái)越頻發(fā),但是當(dāng)GC的時(shí)候所有的線程都是暫停狀態(tài)的,需要處理的對(duì)象數(shù)量越多耗時(shí)越長(zhǎng),所以這也會(huì)造成卡頓。那么我們就可以針對(duì)集合類泄漏、單例/靜態(tài)變量造成的內(nèi)存泄漏 、匿名內(nèi)部類/非靜態(tài)內(nèi)部類、以及資源未關(guān)閉造成的內(nèi)存泄漏做出相應(yīng)得策略。

以上就是Android進(jìn)階學(xué)習(xí)有哪些知識(shí)點(diǎn),小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文名稱:Android進(jìn)階學(xué)習(xí)有哪些知識(shí)點(diǎn)
標(biāo)題URL:http://www.muchs.cn/article46/gehshg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、軟件開發(fā)、商城網(wǎng)站、定制網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)網(wǎng)站建設(shè)

廣告

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

成都app開發(fā)公司