android 开发中的一些经验总结

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.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值