真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

android開發(fā)藝術探索,android開發(fā)藝術探索 百度網盤

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

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

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

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

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

AIDL可以實現跨進程的方法調用。定義進程通信接口供服務端和客戶端調用。

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

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

Android TaskAffinity和allowTaskReparenting屬性

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

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

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

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

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

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

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

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

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

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

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

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

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

舉個例子:當一個應用A啟動了應用B的某個Activity后,如果這個Activity的allowTaskReparenting屬性設置為true,那么當應用B被啟動,此Activity會直接從應用A的任務棧轉移到應用B的任務棧中。

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

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

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


文章題目:android開發(fā)藝術探索,android開發(fā)藝術探索 百度網盤
URL鏈接:http://weahome.cn/article/dscgeoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部