Efficient (low latency) ways to communicate between processes?
I'm interested in creating a module that provides new data at around 30hz and want to feed it to applications with the lowest possible latency (because of UI issues applications needs to respond and update at around 15-30Hz).
I'm considering either a system service or a kernel module for Android and I'm curious about the different approaches to communicating between my new module and other data-consuming processes.
I'm free to make changes to the Android framework or work at a native layer if necessary.
Just looking through the Binder API, it looks quite heavyweight and slow. Am I right, and what are some alternatives (e.g. pipe files?开发者_开发技巧)
Does a Binder IPC call involve a context switch?
Its seems to me that a shared memory segment would provide the lowest possible latency. Does Android have support for this at the Java level?
If you can use NDK, you can use a shared mmaped file object, linux revolves around this
精彩评论