一堕油,進程和線程
線程是最小執(zhí)行單位,進程可以考慮為一個應用獨立運行的環(huán)境,進程包含多個線程掉缺,比如android程序卜录,一個應用默認是一個進程,但是里面有多個線程眶明,比如Ui線程艰毒。但為了讓系統(tǒng)分配給應用更多的資源,可以給應用指定多個進程
方法:
<activity android:name=".ActivityTwo"
android:launchMode="singleTop"
android:process=":remote"
/>
一個進程(UID區(qū)分不同的進程)搜囱,一個虛擬機
多進程優(yōu)點:分配更多的資源
多進程缺點:
1,生成多個Application實例
2丑瞧,Shareprefrence數(shù)據(jù)異常(sp原理是讀寫xml,并發(fā)寫入蜀肘,數(shù)據(jù)會有問題)绊汹,
3,不同進行中的類和變量數(shù)據(jù)無法共享
4扮宠,線程同步機制失效(因為線程是進程的子集)
二西乖,IPC
進程通信
實現(xiàn)的方式:
1,socket(window也是這種方式)
2坛增,Intent获雕,Binder
3,Shaprefrences
進程通信 通過Intent和Binder就需要序列號和反序列化收捣,SpringCloud Service之間的通信也是通過這種方式
序列化和反序列化就要提到Serializable和Parcelable 兩者區(qū)別:前者是java的届案,開銷大,后者android特有罢艾,但是很復雜楣颠,相比之下,可以忽略前者的開銷大咐蚯,選用前者球碉。