我正在尝试测试我的应用在各种情况下的行为,比如假设有大量 RAM 和 CPU 正在使用,或者网络被其他一些应用消耗,或者电池被另一个应用耗尽。
现在,假设我希望使用 (100-X)% 的 RAM(呈现不可用)并且我的应用程序只有 X% 可以使用,我该如何模拟它并在其中运行我的应用程序那个条件?
同样,假设由于系统上运行着各种其他应用程序,我只有 Y% 的网络可用,现在我想渲染 (100-Y)% 的网络可用性来模拟并在其中运行我的应用程序条件。
CPU 忙 (100-Z)% 并且只有 Z% 的时间可用于我想要测试的应用程序。
这些是我想模拟的情况。有人可以向我展示一个工具或向我解释一种方法吗?
最佳答案
您的要求是您希望在您可以控制的压力或释放条件下测试应用程序。所以这里我可以看到的解决方案是
您可以再开发一个应用程序(主要是后台服务),负责增加或减少 CPU 周期、占用或释放内存并通过网络操作保持网络繁忙(制作简单的 UI 来提供输入)
CPU 周期:创建多个执行 Float 的线程 操作并消耗很多 CPU 周期,并且可以保持在 不需要的时候 sleep
内存:需要编写 C 代码(malloc 为指针分配内存)并通过 JNI 和函数访问它以释放 相同的。使用 java 中的 memory 函数来监控当前使用情况
网络:在需要时从 Dropbox 或其他服务器下载大量文件并根据需要监控状态。
在此配置运行服务后,启动所需的应用程序并在该条件下进行测试。
关于android - 如何在 Android 设备中模拟不同类型的负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16712404/