LOW MEMORY:
出现该问题是因为是由于lowmemory,android会选择性的把后台程序杀掉,这个是android的机制。Lowmemorykill可以
通过以下方式来确认。搜索kernellog,以sendsigkillto为关键字搜索,会遇到log如下,
sendsigkilltoPIDXXX(XXX.XXX),adjXXX,sizeXXX
其中PIDXXX为被kill的进程的PIDXXX.XXX为其包名
如果adj后面的XXX小于9就是lowmemory比较严重
举例实际例子中搜索到结果如下
<4>[933.080177](1)[26:kswapd0]select3497(m.android.music),adj2,size5061,tokill
<4>[933.081182](1)[26:kswapd0]sendsigkillto3497(m.android.music),adj7,size5061
从这里可以看到m.android.music进程被杀掉。
mtk平台audio 调试抓取寄存器命令如下:
adb shell cat /sys/kernel/debug/mtksocaudio
adb shell cat /sys/kernel/debug/mtksocanaaudio
查找Package name:
pm list packages | grep music5
pm path com.google.music5.china
查看某个文件的git详细提交记录:
git log -p filename
git blame filename
回退git:
git reset --hard HEAD^
在手机上面捕捉屏幕命令:
adb shell screenrecord --time-limit 180 /sdcard/video_filename.mp4
vim 16进制查看:
%!xxd
cpu性能调节:
stop mpdecision
stop thermal-engine
echo 1 > /sys/devices/system/cpu/cpu0/online
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
c++中打印调用堆栈信息:
#include <utils/CallStack.h>
android::CallStack stack;
stack.update(1, 100);
stack.dump("kean");
在5.0以上可用如下打印方式:
#include <utils/CallStack.h>
CallStack stack(LOG_TAG);
java中打印调用堆栈信息:
RuntimeException re = new RuntimeException();
re.fillInStackTrace();
Log.e(TAG, "Info", re);
new Exception(TAG + " animateCollapsePanels----------603 ").printStackTrace();
1.进入到相应的源码目录;
2.git apply pathc文件路径, 如:git apply ~/Downloads/Snapdrago.patch
3.gitk观察是否打上patch.