扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
为什么需要将webView放在独立进程
webView独立进程需要注意什么
如何声明一个独立进程
在默认情况下,同一应用的所有组件都在相同的进程中运行。
在Manifest中可以设置各组件 (
跨进程的方式
在android当中提供了2种方式实现。
一种是Messenger, 另一种是Aidl.
Messenger
由于Messenger是采用消息队列的方式实现,所有接受和发送的时候都需要Handler协助。
服务端
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: //客服端向服务端请求数据 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: //客服端向服务端请求更新数据 CustomData.getInstance().setData(msg.getData().getString("str")); break; } } } }
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Copyright © 2002-2024 www.gyruijie.cn 成都优众联杰科技有限公司建站品牌 QQ:244261566 版权所有 备案号:蜀ICP备2024116266号-2
微信二维码
移动版官网