AIDL使用注意事项总结

这里仅仅记录在使用AIDL的时候我们有哪些是要注意的

在UI线程执行AIDL方法引起的anr

客户端调用远程服务的方法,被调用的方法在服务端的Binder线程池中,同时客户端线程也会被挂起,这个时候如果服务端方法执行比较耗时的操作,
就会导致客户端线程长时间阻塞在这里,而如果这个客户端线程是UI线程的话,就会导致客户端ANR。
避免方法: 
1. 不要在onServiceConnection或者onServiceDisconnected中直接操作服务端方法(如果知道服务端的方法是耗时的)
2. 因为服务端的方法本身就是运行在Binder线程池中,所以服务端方法本身就是可以执行大量耗时操作的,不要在服务端的方法中开线程去进行异步任务。

猜你喜欢

转载自blog.csdn.net/lovebuzhidao/article/details/79953696