日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
android開發(fā)藝術(shù)探索,android開發(fā)藝術(shù)探索 百度網(wǎng)盤

《Android開發(fā)藝術(shù)探索》值得買嗎

值得買。《Android開發(fā)藝術(shù)探索》深入的講解View的工作原理,View的事件體系,屬性動畫,IPC機(jī)制,JNI技術(shù),緩存與優(yōu)化等知識。作者不僅僅沒有簡單的堆砌文檔,而是結(jié)合自身工作經(jīng)驗來講解。由于這些技術(shù)屬于Android進(jìn)階技術(shù),所以不適合新手入門,比較適合進(jìn)階中高的開發(fā)的工程師。

為企業(yè)提供做網(wǎng)站、成都網(wǎng)站設(shè)計、網(wǎng)站優(yōu)化、成都營銷網(wǎng)站建設(shè)、競價托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!

Android開發(fā)藝術(shù)探索讀書筆記之AIDL

AIDL是 Android Interface definition language的縮寫,一看就明白,它是一種android內(nèi)部進(jìn)程通信接口的描述語言,通過它我們可以定義進(jìn)程間的通信接口

AIDL可以實現(xiàn)跨進(jìn)程的方法調(diào)用。定義進(jìn)程通信接口供服務(wù)端和客戶端調(diào)用。

在AIDL文件中并不是所有數(shù)據(jù)類型都可以使用。只支持下列數(shù)據(jù)類型

默認(rèn)情況下AIDL的調(diào)用過程是同步的,所以不能直接進(jìn)行比較耗時的操作,否則容易導(dǎo)致客戶端ANR。如果需要進(jìn)行異步操作,在服務(wù)端不需要另起線程,但是在客戶端需要另起線程訪問遠(yuǎn)程方法,再通過Handler通知到UI線程即可!

Android TaskAffinity和allowTaskReparenting屬性

TaskAffinity翻譯過來就是“ 任務(wù)相關(guān)性 ”,它表示了一個Activity所需要的任務(wù)棧的名字。

在平時的開發(fā)中,我們一般很少使用到TaskAffinity這個屬性,也沒有聽說過Activity需要什么任務(wù)棧之類的。其實,在默認(rèn)情況下,如果不指定TaskAffinity屬性,Activity所需任務(wù)棧的名字就是 應(yīng)用的名字 。

我們在一個應(yīng)用中啟動三個Activity,然后在Terminal中執(zhí)行 adb shell dumpsys activity 命令,結(jié)果如下:

可以看到,啟動的三個Activity都位于“ com.hwldzh.application ”這個任務(wù)棧中,而這個名字就是我們這個應(yīng)用的包名。

接下來,我們給ThirdActivity加上TaskAffinity的屬性,即在Manifest中的聲明如下:

我們繼續(xù)執(zhí)行在Terminal中執(zhí)行 adb shell dumpsys activity 命令,看ThirdActivity是否處于“com.hwldzh.ThirdActivity”的任務(wù)棧中:

可以看到ThirdActivity依然運(yùn)行在以包名為名字的任務(wù)棧中。這說明了 在啟動模式為Standard下,單獨使用TaskAffinity屬性是無效的 。

我們在ThirdActivity的Manifest聲明中加上SingleTask啟動模式:

然后執(zhí)行 adb shell dumpsys activity 命令,得到如下結(jié)果:

在將ThirdActivity的啟動模式改為SingleTask之后,可以看到ThirdActivity啟動的時候創(chuàng)建了一個新的任務(wù)棧,并且該任務(wù)棧的名字為TaskAffinity屬性設(shè)置的“com.hwldzh.ThirdActivity”。

所以,當(dāng)TaskAffinity和SingleTask啟動模式配對使用時,它是具有該模式的Activity的目前任務(wù)棧的名字,待啟動的Activity會運(yùn)行在名字和TaskAffinity相同的任務(wù)棧中。

allowTaskReparenting屬性的作用是Activity的遷移。當(dāng)allowTaskReparenting屬性和TaskAffinity配合使用時,Activity可以從一個任務(wù)棧遷移到另一個任務(wù)棧。

遷移的規(guī)則是:從一個與該Activity TaskAffinity屬性不同的任務(wù)棧中遷移到與它TaskAffinity相同的任務(wù)棧中。

舉個例子:當(dāng)一個應(yīng)用A啟動了應(yīng)用B的某個Activity后,如果這個Activity的allowTaskReparenting屬性設(shè)置為true,那么當(dāng)應(yīng)用B被啟動,此Activity會直接從應(yīng)用A的任務(wù)棧轉(zhuǎn)移到應(yīng)用B的任務(wù)棧中。

具體點來說,現(xiàn)在有兩個應(yīng)用A和B,A啟動了B的一個Activity C,然后按Home鍵回到桌面,然后再單擊B的桌面圖標(biāo),這個時候不是啟動了B的主Activity,而是重新顯示了已經(jīng)被應(yīng)用A啟動的Activity C。我們也可以理解為,C從A的任務(wù)棧轉(zhuǎn)移到了B的任務(wù)棧中。

可以這么理解,由于A啟動了C,這個時候C只能運(yùn)行在A的任務(wù)棧中,但是C屬于B應(yīng)用,正常情況下,它的TaskAffinity值肯定不可能和A的任務(wù)棧相同,所以當(dāng)B啟動后,B會創(chuàng)建自己的任務(wù)棧,這個時候系統(tǒng)發(fā)現(xiàn)C原本想要的任務(wù)棧已經(jīng)創(chuàng)建了,所以就把C從A的任務(wù)棧中轉(zhuǎn)移過來了。

1、《Android開發(fā)藝術(shù)探索》


網(wǎng)站欄目:android開發(fā)藝術(shù)探索,android開發(fā)藝術(shù)探索 百度網(wǎng)盤
文章網(wǎng)址:http://www.dlmjj.cn/article/dscgeoo.html