亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

機(jī)會(huì)的種子作文

時(shí)間:2025-10-30 01:54:19 機(jī)會(huì) 我要投稿

機(jī)會(huì)的種子作文

  1、談?wù)凙ndroid的IPC(進(jìn)程間通信)機(jī)制

機(jī)會(huì)的種子作文

  答:  Android系統(tǒng)中,每一個(gè)應(yīng)用程序都是由一些Activity和Service組成的,這些Activity和Service有可能運(yùn)行在同一個(gè)進(jìn)程中,也有可能運(yùn)行在不同的進(jìn)程中,android的IPC機(jī)制也就是Binder機(jī)制,Android系統(tǒng)是基于Linux內(nèi)核的,而Linux內(nèi)核繼承和兼容了豐富的Unix系統(tǒng)進(jìn)程間通信(IPC)機(jī)制, 但是,Android系統(tǒng)沒(méi)有采用上述提到的各種進(jìn)程間通信機(jī)制,而是采用Binder機(jī)制,Binder是一種進(jìn)程間通信機(jī)制,它是一種類(lèi)似于COM和CORBA分布式組件架構(gòu),通俗一點(diǎn),其實(shí)是提供遠(yuǎn)程過(guò)程調(diào)用(RPC)功能。從英文字面上意思看,Binder具有粘結(jié)劑的意思,那么它把什么東西粘結(jié)在一起呢?在Android系統(tǒng)的Binder機(jī)制中,由一系統(tǒng)組件組成,分別是Client、Server、Service Manager和Binder驅(qū)動(dòng)程序,其中Client、Server和Service Manager運(yùn)行在用戶(hù)空間,Binder驅(qū)動(dòng)程序運(yùn)行內(nèi)核空間。Binder就是一種把這四個(gè)組件粘合在一起的粘結(jié)劑了,其中,核心組件便是Binder驅(qū)動(dòng)程序了,Service Manager提供了輔助管理的功能,Client和Server正是在Binder驅(qū)動(dòng)和ServiceManager提供的基礎(chǔ)設(shè)施上,進(jìn)行Client-Server之間的通信;

  1. Client、Server和Service Manager實(shí)現(xiàn)在用戶(hù)空間中,Binder驅(qū)動(dòng)程序?qū)崿F(xiàn)在內(nèi)核空間中

  2. Binder驅(qū)動(dòng)程序和Service Manager在Android平臺(tái)中已經(jīng)實(shí)現(xiàn),開(kāi)發(fā)者只需要在用戶(hù)空間實(shí)現(xiàn)自己的Client和Server

  3.Binder驅(qū)動(dòng)程序提供設(shè)備文件/dev/binder與用戶(hù)空間交互,Client、Server和Service Manager通過(guò)open和ioctl文件操作函數(shù)與Binder驅(qū)動(dòng)程序進(jìn)行通信

  4. Client和Server之間的進(jìn)程間通信通過(guò)Binder驅(qū)動(dòng)程序間接實(shí)現(xiàn)

  5. Service Manager是一個(gè)守護(hù)進(jìn)程,用來(lái)管理Server,并向Client提供查詢(xún)Server接口的能力

  2、apk安裝卸載的原理

  答:  APK安裝可以通過(guò)以下四種方式:

  1. 系統(tǒng)應(yīng)用安裝,開(kāi)機(jī)時(shí)完成系統(tǒng)應(yīng)用的檢查,沒(méi)安裝就安裝,安裝就跳過(guò),無(wú)安裝界面。

  2. 網(wǎng)絡(luò)下載應(yīng)用安裝,通過(guò)market應(yīng)用完成,無(wú)安裝界面。

  3. ADB工具安裝,無(wú)安裝界面

  4. 通過(guò)SD卡來(lái)安裝apk,有安裝界面,由packageinstaller.apk應(yīng)用處理安裝及卸載過(guò)程的界面。

  應(yīng)用安裝涉及到如下幾個(gè)目錄:

  system/app 系統(tǒng)自帶的應(yīng)用程序,無(wú)法刪除

  data/app 用戶(hù)程序安裝的目錄,有刪除權(quán)限

  data/data 存放應(yīng)用程序的數(shù)據(jù)

  Data/dalvik-cache 將apk中的dex文件安裝到dalvik-cache目錄下

  (dex文件是dalvik虛擬機(jī)的可執(zhí)行文件,其大小約為原始apk文件大小的四分之一)

  安裝過(guò)程:復(fù)制APK安裝包到data/app目錄下,解壓并掃描安裝包,把dex文件(Dalvik字節(jié)碼)保存到dalvik-cache目錄,并data/data目錄下創(chuàng)建對(duì)應(yīng)的應(yīng)用數(shù)據(jù)目錄。

  卸載過(guò)程:刪除安裝過(guò)程中在上述三個(gè)目錄下創(chuàng)建的文件及目錄。

  3、如何做適配

  1)android有H、L、M、X、XX四個(gè)不同的文件夾存放不同分辨率的圖片,系統(tǒng)會(huì)自動(dòng)加載

  2) 偏移量d的設(shè)置可以在values-hpdi,values-mdpi,values-ldpi三種文件夾中的dimens.xml文件進(jìn)行設(shè)置

  值得一提的是:

  40dp

  -14dp

  這里的負(fù)數(shù)是完全起作用的,系統(tǒng)會(huì)認(rèn)為它是一個(gè)負(fù)值

  3)各大手機(jī)廠商對(duì)于Android操作系統(tǒng)都有或多或少的改動(dòng),當(dāng)然這些改動(dòng)會(huì)對(duì)我們應(yīng)用程序產(chǎn)生某些影響

  比如:

  (1)系統(tǒng)源代碼中連接music服務(wù)的aidl文件所在包名:com.android.music

  (2)LG則可能將該aidl文件修改所在的包(例如修改為 com.android.music.player),并且修改其中的文件內(nèi)容(增加一個(gè)方法,或者減少幾個(gè)方法,或者修改方法名稱(chēng))那么我們的應(yīng)用要想在LG的手機(jī)上發(fā)布,那么我們就必須改變所要連接的aidl文件,必須跟LG廠商修改的完全一致。

【機(jī)會(huì)的種子作文】相關(guān)文章:

關(guān)于機(jī)會(huì)的作文:把握機(jī)會(huì)02-21

成長(zhǎng)的機(jī)會(huì)作文 - 體裁機(jī)會(huì)作文01-28

機(jī)會(huì)作文(精選)06-01

機(jī)會(huì)的作文(經(jīng)典)10-24

機(jī)會(huì)的作文(精選)01-18

[經(jīng)典]機(jī)會(huì)作文03-06

機(jī)會(huì)作文[精選]04-26

(經(jīng)典)機(jī)會(huì)的作文04-20

【精選】機(jī)會(huì)的作文02-22

機(jī)會(huì)的作文08-08

  • 相關(guān)推薦