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