多進程
默認情況下一個應用的所有組件都是運行在一個進程中的。 但在某些情況下爲了提高性能,就會使用多進程。
通過在AndroidManifest.xml每個足見下面設置android:process. 就可以指定每個組件所運行的進程。如下圖。有兩個Activity, ActivityOne和ActivityTwo 運行在不同的進程中。
在DDMS中可以看到,存在兩個進程.one .two 前面是程序包名:
然而使用多線程,如果訪問共享變量或者共享內存。就會存在許多問題。這裏實現的java邏輯是在ActivityOne中訪問一個共享變量 Number類下的 count. 進行加一操作,然後啓動ActivityTwo log count的值 代碼如下:
log信息 出現錯誤。
多進程下會出現以下問題:
- 靜態成員和單例模式出錯
- 不能同步
- SharePrefence不可靠