2, local TCP or UDP
3, end-local-end, the use of cache (very slow)
In the premise of not triggering a memory overflow or application unresponsive, or the first two ways to rely on the first two ways, you can also open a separate thread for the exchange of local big data.
You can refer to the knowledge about AIDL on the internet, you can realize the function you want by using AIDL;
If you don't mind the trouble, you can use the content provider as well.
I hope this helps you.