一般來說,使用多進程會造成如下幾個方面的問題:
- 靜態成員和單利模式完全失效
安卓會爲每一個應用分配一個獨立的虛擬機,或者說爲每個進程都分配一個獨立的虛擬機,不同的虛擬機在內存分配上有不同的地址空間,這就導致不同的虛擬機中訪問的同一個類的對象會產生多份副本。 - 線程同步機制我完全失效
本質和上面的類似,既然都不是一塊內存了,那麼不管是鎖對象還是鎖全局類,都無法保證線程同步。因爲不同進程鎖的不是同一個對象。 - SharePreferences的可靠性下降
SharePreferences不支持兩個進程同時去執行寫操作,否則會導致一定的機率丟失數據。 - *Application會多次創建
同一個進程中的組件是屬於同一個虛擬機和Application的。