I think that one rollback can be battery life, since when listening to the receiver, voltage constantly appears at the battery level. BroadCastReceivers may have security holes if you do not allow allocation permission when broadcasting, unless your broadcast is local, of course you can use the LocalBroadcastManager.
AIDL seems to me safer, but harder to disengage for general use in a group. I like AIDL files when I have many different API calls that I want to make in another process. It is like a remote control. With Broadcastreciever, it can be harder to directly call custom methods to do the job.
source share