关于common.sh:
此脚本实现两个函数
函数1:检测上一级目录有没有对应的目录生成,如果没有则创建对应的目录
函数2:dump内存相关的信息
关于capture.sh:
此脚本功能是拍照50次,每次间隔为10s,dump每次拍照后的内存信息
步骤如下:
0.手机进入相机界面
1.在终端执行命令 ./capture.sh
2.终端输出provider_pid,每次拍照会输出相应的次数,脚本执行完以后输出done
3.脚本结束以后返回上一级目录,将capture打包发送给开发
关于open.sh:
此脚本功能是dump打开相机前和打开相机后的内存信息,间隔为5+5=10s,总共50次
步骤如下:
0.手机开机,进入桌面
1.在终端执行./open.sh
2.终端输出provider_pid,每次打开相机会输出相应的次数,脚本执行完以后会输出done
3.脚本结束以后返回上一级目录,将open打包发送给开发
关于switch.sh:
此脚本功能是dump相机切换video后的内存信息,间隔为5+5=10s,脚本执行完以后输出done
步骤如下:
0.手机进入相机界面
1.在终端执行命令./switch.sh
2.终端输出provider_pid,每次切换会输出相应的次数,脚本执行完以后输出done
3.脚本结束以后返回上一级目录,将switch打包发送给开发
关于video.sh:
此脚本功能是dump预览/录像时的内存信息,间隔为3s一次,总共dump50次
步骤如下:
0.手机进入预览/录像场景
1.在终端执行命令./video.sh
2.终端输出provider_pid,每次开始dump信息输出相应的次数,脚本执行完以后输出done
3.脚本结束以后返回上一级目录,将video打包发送给开发
provider_pid=$(adb shell pgrep -f provider@2)
function file_check ()
{
file_stats=0
for file in `ls ..`
do
if test $file = $1
then
file_stats=1;
break;
fi
done
if test $file_stats -eq 0
then
mkdir ../$1
fi
}
function dump_memory_info ()
{
echo "----------------------------------begin dumpsys meminfo -----------------------" >> $1
adb shell dumpsys meminfo $provider_pid >> $1
echo " " >> $1
echo "----------------------------------begin cat meminfo----------------------------" >> $1
adb shell cat proc/meminfo >> $1
echo " " >> $1
echo "----------------------------------begin procrank-------------------------------" >> $1
adb shell procrank | grep -E "PID|provider@2|ZRAM|RAM" >> $1
echo " " >> $1
echo "----------------------------------begin cat maps-------------------------------" >> $1
adb shell cat proc/$provider_pid/maps >> $1
}
source common.sh
provider_pid=$(adb shell pgrep -f provider@2)
echo "provider_pid is $provider_pid"
data_dir="capture"
data_path="../$data_dir/"
file_check $data_dir
for((i=0;i<50;i++))
do
echo "the $i time"
echo "the $i time" > $data_path$i
adb shell input keyevent 27
sleep 10
dump_memory_info $data_path$i
done
echo "done"
source common.sh
provider_pid=$(adb shell pgrep -f provider@2)
echo "provider_pid is $provider_pid"
data_dir="open"
data_path_befor="../$data_dir/befor_"
data_path_after="../$data_dir/after_"
file_check $data_dir
for((i=0;i<50;i++))
do
echo "the $i time"
echo "the $i time" > $data_path_befor$i
dump_memory_info $data_path_befor$i
adb shell am start -a android.media.action.STILL_IMAGE_CAMERA
sleep 2
echo "the $i time" > $data_path_after$i
dump_memory_info $data_path_after$i
adb shell input keyevent 4
sleep 2
done
echo "done"
source common.sh
provider_pid=$(adb shell pgrep -f provider@2)
echo "provider_pid is $provider_pid"
data_dir="switch"
data_path="../$data_dir/"
file_check $data_dir
for((i=0;i<50;i++))
do
echo "the $i time"
echo "the $i time" > $data_path$i
adb shell input swipe 700 1000 900 1000
sleep 5
dump_memory_info $data_path$i
adb shell input swipe 900 1000 700 1000
sleep 5
done
echo "done"
source common.sh
provider_pid=$(adb shell pgrep -f provider@2)
echo "provider_pid is $provider_pid"
data_dir="video"
data_path="../$data_dir/"
file_check $data_dir
for((i=0;i<50;i++))
do
echo "the $i time"
echo "the $i time" > $data_path$i
sleep 3
dump_memory_info $data_path$i
done
echo "done"