将fork()移植到Android的C代码

时间:2011-12-12 08:23:05

标签: android android-ndk

我在C中编写了一个应用程序,我使用NDK移植到Android。此应用程序使用fork()定期创建子进程以执行某些任务。这些子进程通过管道与主进程通信,然后在任务完成后退出。通过管道传输的数据量可达数百千字节。

我试图保持父进程在内存和CPU消耗方面非常精简并且也非常稳定,但子进程有时会占用大量资源。如果子进程有时因系统而被系统杀死并不重要。父进程可以优雅地处理这些条件。

对于这个用例,将fork()保留在本机代码中是否可以?有没有更好的方法通过Android框架实现这一目标?

谢谢。

1 个答案:

答案 0 :(得分:1)

女神的留言:

http://markmail.org/message/ruqp2t6gvhnhv654

所以你最好放下它。它可以通过流程管理打开一整套蠕虫。并且没有什么比糟糕的失控原生过程吸收处理器周期和电池榨汁更糟糕的了。更好的解决方案是在同一进程中通过静态类或触发意图传递数据的几个android抽象,如服务和广播接收器