Android 進程和線程 --多進程

多進程

默認情況下一個應用的所有組件都是運行在一個進程中的。 但在某些情況下爲了提高性能,就會使用多進程。

通過在AndroidManifest.xml每個足見下面設置android:process. 就可以指定每個組件所運行的進程。如下圖。有兩個Activity, ActivityOne和ActivityTwo 運行在不同的進程中。
這裏寫圖片描述

在DDMS中可以看到,存在兩個進程.one .two 前面是程序包名:
這裏寫圖片描述

然而使用多線程,如果訪問共享變量或者共享內存。就會存在許多問題。這裏實現的java邏輯是在ActivityOne中訪問一個共享變量 Number類下的 count. 進行加一操作,然後啓動ActivityTwo log count的值 代碼如下:

ActivityOne:

ActivityTwo

Number 類

log信息 出現錯誤。
這裏寫圖片描述

多進程下會出現以下問題:

- 靜態成員和單例模式出錯
- 不能同步
- SharePrefence不可靠
發佈了44 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章