如何吃掉Android应用程序中的所有android内存?

时间:2014-04-28 14:44:25

标签: android memory root

最近,我正在测试Android设备的交换分区的性能。我需要占用测试应用程序中的所有内存(可以具有root权限),以便某些页面可以换出。 我怎样才能做到这一点?感谢。

2 个答案:

答案 0 :(得分:1)

将一堆位图加载到内存中,没有弱引用

位图b = BitmapFactory.decodeResource(R.drawable.someresource,null);

或者如果您想从磁盘加载

位图b = BitmapFactory.decodeFile(filenamestring);

答案 1 :(得分:0)

由于您可以使用ADB并拥有busybox,因此您可以使用分配内存的shell脚本,直到它耗尽为止。

参考Write a bash shell script that consumes a constant amount of RAM for a user defined time

从那个答案中撕掉:

#!/bin/ash

echo "Provide sleep time in the form of NUMBER[SUFFIX]"
echo "   SUFFIX may be 's' for seconds (default), 'm' for minutes,"
echo "   'h' for hours, or 'd' for days."
read -p "> " delay

echo "begin allocating memory..."
for index in $(seq 1000); do
    value=$(seq -w -s '' $index $(($index + 100000)))
    eval array$index=$value
done
echo "...end allocating memory"

echo "sleeping for $delay"
sleep $delay