在android应用程序中使用mlock()

时间:2013-10-08 04:31:51

标签: android linux memory-management swap

a-swapper在Android设备中启用交换,其中它使用SD卡作为交换空间(http://code.google.com/p/a-swapper/)。我是否可以使用mlock()创建一个阻止特定当前运行的应用程序交换到交换空间的应用程序,或者是否有其他方法?

另外,busybox默认小程序似乎没有mlock()。

1 个答案:

答案 0 :(得分:1)

阅读mlock(2)手册页。它需要root权限或至少 CAP_IPC_LOCK能力。见capabilities(7)

在大多数Android系统上,根本不容易。

mlock仅适用于当前进程虚拟空间(不适用于其他进程的地址空间)。阅读virtual memory。考虑使用/proc/ (有关详情,请参阅proc(5))以了解相关信息。 (理解cat /proc/self/maps ....)

的输出

阅读Advanced Linux Programming也应该有帮助。