Android 應用內多進程實現

來源:互聯網
上載者:User

標籤: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 應用內多進程實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.