![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
稳定性
文章平均质量分 54
crash、anr问题分析
纵容_伊人倩影
android rom上层模块launcher wallpaper systemui telephony等等
稳定性萌新
展开
-
framework watchdog
只是获取一下同步锁,看看service有没有在运行其它任务。从log可以看出,watchdog的run和mHandler.run不在同一个线程。那么它到底是如何判定系统卡住了,这里简单了来看一下watchdog的代码了解一下。一直依赖,都直到framework有个watchdog,监听主要进程是否卡死。如果卡住60秒就会杀死所在进程也就是system_server,上层重启。如何判断系统是否卡住了、waitState如何赋值。如果长期运行其它任务,就无法获取到mLock。整个方法有2个地方需要注意。原创 2023-09-28 20:33:06 · 251 阅读 · 0 评论 -
kernel log查看cpu usage
kernel log查看cpu usagecpu usage: 查看cpu使用前几个应用的cpu使用率update: 每隔几秒会打印一次,里面包含cpu usage信息ANR-kernel什么时候看kernel log:device log 和eventlog没有任何异常device log出现一段时间空白期kernel log异常Freezing user space proces...原创 2020-04-26 14:26:30 · 1037 阅读 · 1 评论 -
命令行模拟key_event和am命令
命令行模拟key_event//点击返回键adb shell input keyevent 4//多任务界面adb shell input keyevent 187//在屏幕上做划屏操作,前四个数为坐标点,后面是滑动的时间(单位毫秒)adb shell input swipe 50 250 250 250 500//在屏幕上点击坐标点x=50 y=250的位置。adb she...原创 2020-04-21 11:14:16 · 765 阅读 · 1 评论 -
命令行抓log
命令行抓log、Log.isLoggable的使用原创 2020-04-27 10:59:43 · 2036 阅读 · 0 评论 -
命令行获取device信息
(1) 获取 device 屏幕 densityadb shell dumpsys window displays |head -n 3adb shell wm size (高通平台)adb shell getprop ro.sf.lcd_density(2) getprop 获取 device model, project name 和 rom versionadb she...原创 2020-04-27 11:00:00 · 1937 阅读 · 0 评论 -
Android Pm命令用法
一、Pm命令命令格式: pm命令列表:命令 功能 实现方法list packages 列举app包信息 PMS.getInstalledPackagesinstall [options] 安装应用 PMS.installPackageAsUseruninstall [options] 卸载应用 IPackageInstaller.uninstallenable <......原创 2020-04-27 11:00:15 · 1097 阅读 · 0 评论 -
global reference table overflow
ErrorLog:04-26 18:20:16.112 12201 12201 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***04-26 18:20:16.112 12201 12201 F DEBUG : Build fingerprint: 'htc/ocmdugl_00401...原创 2020-04-26 16:09:43 · 3430 阅读 · 0 评论 -
常见AMS log
说明:pid指进程id。pid 是进程的身份标识,程序一旦运行,就会给应用分配一个独一无二的pid(ps:一个应用可能包含多个进程,每个进程只有唯一一个pid),进程终止后pid会被系统回收,再次打开应用,会重新分配一个pid(新进程的pid一般比之前的值要大)查看命令 :adb shell psuid指用户的id。为了实现数据共享,android为每个应用几乎都分配了不同的uid,使之成...原创 2020-04-26 16:12:02 · 1894 阅读 · 0 评论 -
adb 常用命令
PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS。#HeapAlloc 分配的内存。原创 2020-04-27 16:41:08 · 1279 阅读 · 0 评论 -
Android Too many open files, fd泄露
接到一个三方apk在我方手机运行异常的问题.fatal exception信息如下:05-13 18:31:34.485 13749 13749 E AndroidRuntime: FATAL EXCEPTION: main05-13 18:31:34.485 13749 13749 E AndroidRuntime: Process: com.****.****, PID: 1374905-13 18:31:34.485 13749 13749 E AndroidRuntime: java.原创 2020-05-15 16:52:39 · 1563 阅读 · 0 评论 -
SystemUI快捷设置栏----横竖屏一行显示个数(1)
问题描述客户需求:竖屏时快捷设置栏一行6个、横屏时快捷设置栏一行8个;竖屏时快捷栏展开一行5个、横屏时快捷栏展开一行8个。vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java@Override protected void onLayout(boolean changed, int l, int t, int r, int b) {原创 2021-10-14 16:53:26 · 592 阅读 · 1 评论 -
bat脚本启动mtklog、抓取log文件
问题描述有时候我们需要让厂商或者客户提供log文件,需要很多adb指令,不太方便客户使用。整理成一个脚本文件方便客户查看log抓取是否ok。1、启动user版本mtk log脚本Windows下面新建文件,然后修改文件名和后缀,例如 enable_log.batps:对bat和adb的合作方式还不是很熟,纠结了很久主要卡在:1、adb获取系统属性后赋值给变量,暂时用的for复制一个变量,感觉有点重2、if语句 空格要注意 否则提示语法错误3、goto语句其它都是常规的adb命令如果有更原创 2021-10-15 17:20:05 · 1312 阅读 · 0 评论 -
SystemUI快捷设置栏----横竖屏一行显示个数(2)
systemui 快捷设置三方apk设置项数据https://blog.csdn.net/a396604593/article/details/120767052之前文章中提到过,如果快捷设置栏横竖屏要显示不一致,会有数组越界的可能。当时的处理是限制最小个数不让拖动小于横竖屏个数最大值。最近又发现一种可能引起crash的路径—三方apk的快捷设置当我们移除快捷设置到无法拖动时,剩下的存在三方apk的快捷设置,然后卸载掉apk,系统会自动删掉对应的快捷设置项。从而导致快捷设置不满一行,就和上篇中的原创 2021-11-17 19:56:49 · 1657 阅读 · 0 评论 -
User 10 must be unlocked for widgets to be available
/*** screen状态广播接收者// 解锁 mScreenStateListener . onUserPresent();} } } /*** 开始监听screen状态} /*** 停止screen状态监听= null) {} } /*** 启动screen状态广播接收器} }} /*** screen状态广播接收者// 解锁 mScreenStateListener . onUserPresent();原创 2022-05-25 17:04:32 · 1736 阅读 · 6 评论 -
monkey测试关机/重启问题分析(三)
触发流程可能不同,比如长按关机、点击dialog关机按钮关机等等。monkey测试关机/重启问题分析(三)关机流程可以参考以下其它人的文章。上层关机流程,最终回走到。原创 2023-06-13 20:42:56 · 959 阅读 · 0 评论 -
Android 关机/重启原因分析
frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java的run方法会打印一些log和保存文件。详细介绍见https://source.android.google.cn/devices/bootloader/boot-reason。导出/data/vendor/aee_exp和/data/aee_exp下面的log文件。----- dbg文件。内存和重启问题的分析,多偏向于底层。原创 2022-07-06 15:20:21 · 4453 阅读 · 1 评论 -
monkey测试关机/重启问题分析(一)
发现monkey正常下发事件,自身没有crash。原创 2023-06-07 17:21:04 · 1144 阅读 · 0 评论 -
monkey测试关机/重启问题分析(二)
最终走到frameworks/base/services/core/java/com/android/server/statusbar/StatusBarManagerService.java。GlobalActionsDialogLite内部有很多内部类,继承实现了onPress接口,对应真正的点击事件。到这里,就定位到按钮点击跳出关机dialog的地方。从代码看,这是一个adapter适配器。通过Android 布局分析工具发现。按钮初始化和点击事件。关机按钮的实现类如下。原创 2023-06-07 17:20:01 · 820 阅读 · 0 评论 -
anr log打印流程---Java层
本问介绍一下anr之后,系统打印log的流程。加深对anr问题的理解。anr触发原理分析可以看看这个文章cpp代码比较多,我选择放弃了。从java层log往后看吧。。。原创 2023-05-26 15:45:05 · 1027 阅读 · 0 评论 -
Android anr问题分析
本文主要介绍anr问题一手分析、分类判断,归类后提case给平台处理。不是针对应用开发的anr分析和优化处理。anr问题主要分为1、input 无焦点anrReason: Input dispatching timed out (Application does not have a focused window)2、input 有焦点anrReason: Input dispatching timed out (eadf99 net.zedge.android/net.zedge.android.原创 2023-05-17 16:44:48 · 6044 阅读 · 1 评论