宋金时的专栏

士不可以不弘毅,任重而道远!你无法改变过去,却可以把握现在和未来,相信自己,无限可能!...

排序:
默认
按更新时间
按访问量

聊一聊binder driver导致的系统重启问题

问题现象这个问题最早是由接电话重启的现象暴露出来的,当时看到异常信息是Native crash,栈如下:Build fingerprint: 'Xiaomi/scorpio/scorpio:6.0.1/MXB48T/6.10.8:user/release-keys' Revision: '0' A...

2016-12-28 11:21:41

阅读数:2394

评论数:2

Android Studio在线调试Android Framework Java代码

一、准备工作1、下载最新的Android Studio版本 https://developer.android.com/studio/index.html 当前最新的大版本是2.2 2、下载Android系统源码这里比较灵活,可以下载公司内部机型的代码,也可以下载原生AOSP的代码环境配置参...

2016-11-03 13:17:05

阅读数:4378

评论数:3

由Monkey测试引发的跨多个进程的Android系统死锁问题分析

一、问题现象1、界面定住,没有任何刷新,所有输入事件无效,包括power key2、adb shell可以连接并操作手机3、手机的data和sdcard存储空间已满4、watchdog没有重启system server二、解决方案通过初步分析、深入分析(具体分析过程和关键代码及log在下面)我们知...

2016-10-14 15:49:32

阅读数:3601

评论数:0

由Asset中的double free引发的Android系统及APP崩溃问题分析

前言这个问题在来小米之前就遇到并解决过,当时的解决方案与朴老师的初步解决方案一样,本文在之前的初步分析结果之上进一步进行了深入分析,最终得出了当前看起来相对合理并符合原来架构设计的最终方案。 文中引用了朴老师抓的backtrace,同时在进一步分析的过程中朴老师也提出的大量有建设性的问题,感谢朴...

2016-10-14 15:33:45

阅读数:3319

评论数:2

小米(MIUI)系统组招聘职位

招聘职位1. 高级Android系统开发工程师高级Android系统开发工程师 工作职责: 1.从Linux Kernel、Framework(Java+Native)等多个层面改进、增强Andorid系统和MIUI,提升用户体验 2.负责Android系统稳定性,解决各类系统问题...

2016-08-05 13:52:28

阅读数:2994

评论数:0

GDB在线调试Android Framework Native C/C++代码

一、准备工作1、下载并编译Android系统源码这里比较灵活,可以下载公司内部机型的代码,也可以下载原生AOSP的代码环境配置参考 https://source.android.com/source/initializing.html 源码下载参考 https://source.andro...

2016-11-03 13:28:52

阅读数:2503

评论数:1

由Ctrl+Z引发的系统卡死重启问题分析

起因JT同学拿着手机来找我说用着用着自动重启了,让我看一下,我抓出bugreport一看是system server发生watchdog重启了,然后接着看了一下traces,发现traces比较诡异。初步分析为什么说traces诡异?暂且一看都被thread 31持有的锁给block了,那就看看t...

2016-10-14 15:22:04

阅读数:2743

评论数:1

由ContactsProvider的升级引发的OTA首次开机卡白米问题分析

上午的宁静被一个OTA卡白米问题打破,接下来不断有人反馈不同机型都复现了OTA后卡白米,10.9号OTA升级到10.10号的版本,全机型问题,线刷没有问题,好吧,接下来就根据这些信息开始初步分析log吧!初步分析查看问题log,发现Boot phase到了PHASE_SYSTEM_SERVICES...

2016-10-14 15:11:18

阅读数:1537

评论数:0

Android4.4.2KK竖屏强制更改为横屏的初步简略方案

解决方案:当前是根据当前问题场景即竖屏强制更改为横屏的需求而做的改动,基本是hardcode定义的状态,总共修改有效代码行数5行,如果后续有其他需求或者需要更灵活的配置横屏和竖屏,可以采用编译开关生成系统属性的方式来控制,在系统中通过属性来判断当前的屏幕状态以达到灵活目的,可以在本次修改的基础上增...

2016-01-26 11:52:49

阅读数:3813

评论数:3

Mac OS下terminal的快捷键

时隔2年又开始使用Mac OS系统,之前的很多快捷键和常用的命令都忘记了,使用起来确实不方便,效率也低,特别是terminal下,所以对于terminal又找了一下并整理如下,希望对后来的同学也有用:control + a 将光标移到行首control + e 将光标移到行尾control + l...

2015-08-26 22:33:39

阅读数:2746

评论数:2

温故知新,基础复习(二叉堆排序)

温故知新,基础复习(二叉堆排序)最小堆(最终数组的数据是降序),最大堆(最终数组的数据是升序)下例是最小堆#include #include void Swap(int Arra[],unsigned int LeftIndex,unsigned int RightIndex) { int...

2015-07-21 23:01:02

阅读数:1801

评论数:1

温故知新,基础复习(快速排序及优化)

温故知新,基础复习(快速排序及优化)使用了三值取中和插排优化#include #define InsertSortNumber 10 void InsertSort(int Arra[],unsigned int LowIndex,unsigned int HighIndex) { prin...

2015-07-21 22:19:19

阅读数:1754

评论数:0

温故知新,基础复习(一个有序从大到小不重复的数列,任意给出一个sum值,求出数列中所有满足和为sum的数对)

温故知新,基础复习(一个有序从大到小不重复的数列,任意给出一个sum值,求出数列中所有满足和为sum的数对)#include #include void PrintSumNumbers(int Arra[],int ASize,int Sum) { //O(1) if (ASize<2)...

2015-07-21 22:15:03

阅读数:1805

评论数:0

大数据处理时的一种BitMap小算法

一种大数据外部排序(内存无法加载所有排序元素)、去除重复元素、快速找到随机被删除元素的BitMap小算法,核心思想即通过将一个数作为下标(index)来索引一个bit表示一个数是否存在,排序时的时间复杂度为O(N),需要的额外空间的复杂度O(N/8),支持整个int范围(正负数都支持)的算法示例如...

2015-07-21 22:02:46

阅读数:5950

评论数:0

Android5.0L下因sensorservice crash导致systemserver重启的另外一种场景分析

一、出问题的场景1、Sensorservice线程正在处理compass sensor事件的过程中,检查了一次buffer的指针的有效性,并在稍后会传递到AKM获取数据的函数接口中使用2、Sensorservice线程所在进程的负责跨进程通信的Binder线程在sensorservice线程检查b...

2015-07-03 16:13:55

阅读数:2929

评论数:0

Android5.0L中SensorService crash导致的systemserver重启问题分析

一、初步分析结论sensorservice多线程机制存在问题,导致在disable accel sensor并释放相应内存和数据之后,有很小的概率发生继续读取到未处理完的sensor事件,从而继续使用相应的内存和数据,并且没有做相应的防御保护措施,最终引起指针地址操作错误。二、解决方案1、首先在可...

2015-07-03 15:48:40

阅读数:3652

评论数:0

Android4.4KK下遮盖p-sensor拨打电话无法自动灭屏的问题分析

一、问题现象先遮盖P-Sensor,然后拨打电话,90%的情况下屏幕无法自动关闭背光显示。关闭Settings-》Display-》Brightness-》Auto,然后再执行以上操作则100%能够正常关闭背光显示。Platform:MT6732Android版本:4.4KKBuildType:u...

2015-07-03 11:44:48

阅读数:5003

评论数:9

AndroidKK4.4 Power key电量屏幕时button light先亮LCD后亮的卡顿问题分析

一、问题现象按下Power key点亮屏幕时,很大概率出现先亮button light,然后再亮屏的现象,明显感觉到卡顿。线索1、快速按下Power key熄灭和唤醒基本不会出现以上问题现象线索2、长按Power key会同时亮LCD和button light线索3、插入2G sdcard基本没有...

2015-07-03 10:31:17

阅读数:3554

评论数:0

Android5.0L退出APP横竖屏切换导致的触摸屏输入(Touch Event)无效(冻屏)问题分析(Key Event仍然有效)

一、问题现象1、多次进出需要强制横屏的app,比如Real FootBall2015,在退出app的时候会有概率出现退出卡顿,然后TP无法输入的问题。2、出问题时Power key有响应。3、此问题同时在Driver only上有复现。Platform:MSM8916Android版本:5.0.2...

2015-07-02 20:56:25

阅读数:4755

评论数:7

Android5.0L因SystemUI ANR导致的黑屏问题分析

一、问题现象1、用户直观看到的现象是黑屏。2、出问题时StatusBar、NavigationBar和墙纸消失。3、大部分发生在FOTA重启之后,出现概率很低。Platform:MSM8916Android版本:5.0.2LBuildType:user系统软件版本:VA6V+L5V0系统RAM:1...

2015-07-02 20:29:08

阅读数:6932

评论数:9

提示
确定要删除当前文章?
取消 删除
关闭
关闭