android - 如何在 Android 设备中模拟不同类型的负载?

标签 android emulation cpu-load

我正在尝试测试我的应用在各种情况下的行为,比如假设有大量 RAM 和 CPU 正在使用,或者网络被其他一些应用消耗,或者电池被另一个应用耗尽。

现在,假设我希望使用 (100-X)% 的 RAM(呈现不可用)并且我的应用程序只有 X% 可以使用,我该如何模拟它并在其中运行我的应用程序那个条件?

同样,假设由于系统上运行着各种其他应用程序,我只有 Y% 的网络可用,现在我想渲染 (100-Y)% 的网络可用性来模拟并在其中运行我的应用程序条件。

CPU 忙 (100-Z)% 并且只有 Z% 的时间可用于我想要测试的应用程序。

这些是我想模拟的情况。有人可以向我展示一个工具或向我解释一种方法吗?

最佳答案

您的要求是您希望在您可以控制的压力或释放条件下测试应用程序。所以这里我可以看到的解决方案是

  • 您可以再开发一个应用程序(主要是后台服务),负责增加或减少 CPU 周期、占用或释放内存并通过网络操作保持网络繁忙(制作简单的 UI 来提供输入)

    1. CPU 周期:创建多个执行 Float 的线程 操作并消耗很多 CPU 周期,并且可以保持在 不需要的时候 sleep

    2. 内存:需要编写 C 代码(malloc 为指针分配内存)并通过 JNI 和函数访问它以释放 相同的。使用 java 中的 memory 函数来监控当前使用情况

    3. 网络:在需要时从 Dropbox 或其他服务器下载大量文件并根据需要监控状态。

在此配置运行服务后,启动所需的应用程序并在该条件下进行测试。

关于android - 如何在 Android 设备中模拟不同类型的负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16712404/

相关文章:

android - 离线时从缓存加载 webview

android - 如何删除我在 Android Q 中创建的文件?

android - Viewpager上的VideoView,切换页面时停止视频

ios - "assertion failed"警告

visual-c++ - Windows 桌面在繁重的网络 I/O 期间变得瘫痪/Windows 内核仅分配了众多 CPU 中的 1 个?

Linux 可接受的平均负载

java - 为什么这不能形成一个好看的正方形?

Android 模拟器不加载应用程序

android - Android 中 Eclipse 的特定目标模拟器?

带有 socket.io 的 node.js 服务器同时处理 50000 个客户端