如何在 Android 模拟器中模拟低内存?

Posted

技术标签:

【中文标题】如何在 Android 模拟器中模拟低内存?【英文标题】:How do you simulate low memory in the Android emulator? 【发布时间】:2009-09-27 07:45:42 【问题描述】:

有没有一种简单的方法来模拟模拟器内的低内存? 我有兴趣执行类似于this post的资源清理

【问题讨论】:

【参考方案1】:

从 shell 调用 ulimit 命令。

ulimit -Sv 10000

这会将当前内存限制设置为 10 000 Kb,以便之后从此 shell 调用的所有应用都无法访问更多内存。

【讨论】:

当我尝试执行此命令时得到“ulimit:非法选项 -v”。 在哪个外壳上?是commond prompt 还是telnet 我得到 ulimit: virtual memory: cannot modify limit: Invalid argument 必须输入 ulimit 命令的“shell”似乎是您可以使用 "adb.exe"android 调试桥)打开的那个。如果只有一个 Emulator 实例或设备,则在 DosBox 中输入 "adb shell" 即可(假设您在 adb.exe 所在目录,即 "sdk /平台工具”)。 这正是我想要的。非常感谢! (差不多六年后,哈哈)【参考方案2】:

如果你只是想触发你的 onTrimMemory 回调,那么这会成功:

adb shell am send-trim-memory

例如adb shell am send-trim-memory com.example.app MODERATE

【讨论】:

【参考方案3】:

如果您的手机或模拟器具有应用程序开发工具(每个模拟器都有),则可以使用另一种方法。打开开发工具,导航开发设置并打开“立即销毁活动”复选框。这可以帮助您模拟活动因内存不足而被破坏时的情况

【讨论】:

它不做清理缓存之类的事情。 这不会发送任何内存调整事件,因此不是真正的低内存模拟。

以上是关于如何在 Android 模拟器中模拟低内存?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android模拟器中安装Google Play Service

如何在低版本xcode上安装新版模拟器

如何模拟杀戮活动以节省内存?

Android模拟器问题:分配内存失败:8?

Android 逆向修改运行中的 Android 进程的内存数据 ( 运行环境搭建 Android 模拟器安装 | 拷贝 Android 平台可执行文件和动态库到 /data/system )(代码片

如何编程设置android模拟器 sd卡的读写权限