為什么需要將webView放在獨立進程
發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及除甲醛等,在網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣、WAP手機網(wǎng)站、VI設(shè)計、軟件開發(fā)等項目上具有豐富的設(shè)計經(jīng)驗。webView獨立進程需要注意什么
如何聲明一個獨立進程
在默認情況下,同一應(yīng)用的所有組件都在相同的進程中運行。
在Manifest中可以設(shè)置各組件 (<activity>、<service>、<receiver>、<provider>)的 android:process 屬性來指定相應(yīng)的進程。
跨進程的方式
在android當中提供了2種方式實現(xiàn)。
一種是Messenger, 另一種是Aidl.
Messenger
由于Messenger是采用消息隊列的方式實現(xiàn),所有接受和發(fā)送的時候都需要Handler協(xié)助。
服務(wù)端
public class MessengerService extends Service { public static final int GET_DATA = 1; public static final int SET_DATA = 2; Messenger messenger = new Messenger(new ServiceHandler()); Messenger replyMessenger; //向客服端返回信息 public MessengerService() { } @Override public IBinder onBind(Intent intent) { return messenger.getBinder(); } class ServiceHandler extends Handler { @Override public void handleMessage(Message msg) { replyMessenger = msg.replyTo; switch (msg.what) { case GET_DATA: //客服端向服務(wù)端請求數(shù)據(jù) if (replyMessenger != null) { Bundle bundle = new Bundle(); bundle.putString("str", CustomData.getInstance().getData()); Message message = Message.obtain(null, 1); message.setData(bundle); try { replyMessenger.send(message); } catch (RemoteException e) { e.printStackTrace(); } } break; case SET_DATA: //客服端向服務(wù)端請求更新數(shù)據(jù) CustomData.getInstance().setData(msg.getData().getString("str")); break; } } } }
本文題目:詳解androidwebView獨立進程通訊方式-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://muchs.cn/article40/ejdeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、商城網(wǎng)站、品牌網(wǎng)站設(shè)計、響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)