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

标签 android linux memory-management swap

a-swapper 在使用 SD 卡作为交换空间 (http://code.google.com/p/a-swapper/) 的 Android 设备中启用交换。我可以创建一个应用程序来防止使用 mlock() 将特定的当前正在运行的应用程序交换到交换空间中,还是有任何其他方法可以解决这个问题?

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

最佳答案

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

在大多数 Android 系统上,root 并不容易。

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

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

关于android - 在 Android 应用程序中使用 mlock(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19239129/

相关文章:

linux - grep 命令不能正常工作

Linux - 修改文件修改/访问/更改时间

c++ - 无法从数组队列中手动释放内存

android - 源集 Android Studio

android - 在 android 选项卡布局中显示进度对话框

linux - 如何从 Linux 内核模块的 sysfs 属性文件中读取字符串?

objective-c - 为什么在 Objective-C 中,在单独的语句中执行 alloc 和 init 会导致根据 Xcode 静态分析器释放对象?

android - 是否有任何理由可以在关闭时重置 TrafficStats 值?

java - 和引擎位置

c++ - 如何知道何时在 C++ 中调用 delete 以及何时调用 delete[]?