我正在尝试处理我的Android应用程序遇到的一些问题,当我在显式“前台”模式(Service.startForeground)中运行时,我认为这与内存压力有关。
为了调试这个,我需要对我的应用程序施加内存压力,我可以通过各种方式执行此操作,例如启动各种其他应用程序,例如具有大量网页的Firefox。然而,这不太理想,因为它仍然相当耗时且不精确。所以我的问题是,有没有办法使用调试器(例如在Eclipse下)强制内存压力,或者可能是专门用于此目的的特殊应用程序?我宁愿不绕道而不是自己写一个,显然在我自己的应用程序中分配内存是不行的。
更新:更改标题以反映我需要设备上的实际内存压力,而不是仿真。
答案 0 :(得分:1)
您可以创建人工记忆压力。为此,在MainActivity中创建一个按钮,然后在按钮的onClick方法中创建一个包含1000个对象的数组。然后,在您的应用程序运行时,多次单击该按钮会产生很大的内存压力。
代码可能如下所示:
public void iGotClicked(View view){
String[] strings = new String[1000];
}
假设您将按钮的onClick
XML属性设置为iGotClicked
。