模拟真实Android设备上的低内存

时间:2013-12-21 08:26:13

标签: android performance debugging memory android-appwidget

我在Android KitKat 4.4.2上的应用小部件有问题,即操作系统在不重新启动的情况下删除了我的后台运行服务,但它处于粘性模式。

现在我找到了一个使用 onTaskRemoved 的技巧,以便在内存不足的情况下重启我的服务。

但问题是现在如何在我的设备上模拟低内存条件,而不是在模拟器上?

1 个答案:

答案 0 :(得分:0)

我认为您可以使用本机C代码来执行此操作。这就是我要做的事情:

  1. 编写一个分配大缓冲区的C代码,休眠几秒钟,计算缓冲区的校验和,然后退出。
  2. 使用" -static"在Linux机器上编译程序编译标志。 Android和Linux是二进制兼容的,但是你需要将libc嵌入到你的二进制文件中以摆脱潜在的问题。
  3. 在设备上使用adb复制二进制文件。
  4. 运行二进制文件。
  5. 此时,您有一个本机进程,其使用的内存量等于您分配的缓冲区的大小。即使你在设备上执行其他任务,我也不认为这个过程会被置于睡眠状态,因此它的内存使用将模拟低内存和#34;情况。