0

我正在寻找一种解决方案来测试 Android 上其他一些应用程序的低手机存储空间。一种解决方案是创建一个会填满整个内存但似乎不起作用的应用程序。有人可以建议其他解决方案吗?

4

1 回答 1

1

我能想到的两个选择:

  1. 使用最少的可用内存设置 AVD。

  2. 使用您可以控制的方法将设备的物理状态与您的应用程序解耦。设置一个代理方法(您可以将其称为类似的名称availableStorageSize())并确保它是您的应用了解可用存储空间的唯一方法。这样,您将有更多的能力来模拟这样的场景。


编辑:根据这个答案的评论线程,您告诉我们您正在使用getAvailableBytes()来确定是否有足够的可用内存以及“如果 getAvailableBytes 返回低内存 [您] 不要下载它”。

使用模拟器并根除问题,我认为您仍然可以做的就是将其包装getAvailableBytes()在您自己的方法中。看起来像:

private fun deviceHasEnoughStorage(size: Long): Boolean {
    return size < getAvailableBytes()
}

然后,为了测试内存不足的情况,将此方法更改为始终返回false

private fun deviceHasEnoughStorage(size: Long): Boolean {
    return false // Simulate low storage state.
}

接下来,确保不要getAvailableBytes()在您的项目中再次使用任何地方,否则可能会出现一些不一致的地方和那里。

免责声明:这更像是最后的手段,而不是理想的解决方案。尽可能使用模拟器来测试与此类设备相关的场景。

于 2018-02-07T10:35:37.827 回答