標籤:android style blog http color 使用 ar strong 檔案
android平台支援多進程通訊,也支援應用內實現多進程
那麼多進程應該能為我們帶來什麼呢
我們都知道,android平台對應用都有記憶體限制,其實這個理解有點問題,應該是說android平台對每個進程有記憶體限制,比如某機型對對進程限制是24m,如果應用有兩個進程,則該應該的總記憶體限制是2*24m。使用多進程就可以使得我們一個apk所使用的記憶體限制加大幾倍。
所以可以藉此圖片平台對應用的記憶體限制,比如一些要對圖片、視頻、大檔案進程處理的好記憶體的應用可以考慮用多進程來解決應用操作不流暢問題。
實現多進程可以通過設定service、broadcast、activity的標籤android:process來實現。
一般情況下啟動這些組件預設是在同一個進程裡啟動並執行,如果設定了android:process標籤,則會運行在其他進程裡。
如果android:process的value不是":"開頭,則系統裡有同樣名字的進程的話,會放到已存在的同名進程裡運行,這樣能減小消耗。
如果android:process的value是以":"開頭,則啟動一個名字為value的進程。
實現應用多進程之後,就是處理序間通訊啦
處理序間通訊有兩種實現方式:
1,用系統架構實現
2,自己實現AIDL
系統架構實現進程通訊有用過Service,Broadcast,Activity,ContentProvider
轉自:http://www.eoeandroid.com/thread-320076-1-1.html
Android中,預設一個APK包就對應一個進程,其進程名就為AndroidManifest.xml檔案中 指定的package名。我們可以通過Activity, Service, BroadCastReceiver, ContentProvider的android:process屬性來實現單APK多進程,但是需要注意進程間記憶體的不可見度。
舉例見:http://blog.csdn.net/hudashi/article/details/7858125
Android 應用內多進程實現