自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (12)
  • 收藏
  • 关注

原创 Android学习博客链接

查看源代码Android Studio导入Android源码AndroidStudio加载有git的项目很卡顿耗时很长需要把 <excludeFolder url="file://$MODULE_DIR$/.repo" />加入到android.iml不然加载会卡死调试Android源码AndroidXRef在线看Android系统源码kernel......

2018-06-28 09:28:02 827

原创 创建Stack和Task

创建Stack和Task流程

2022-08-03 20:25:15 330 1

原创 SurfaceFlinger queueBuffer

流程图

2022-07-28 10:37:12 442

原创 Vsync信号

5.VSYNC-sf用于控制SF合成Layer的节奏,可以理解为sf对应的DispSyncSource发出的sync信号,再触发EventThread的回调并转换成事件写入写端,最后触发读端的回调MessageQueuecb_eventReceiver(),SF开始合成显示图层。HW_VSYNC_ON代表是SF这边sw_vsync不准了(不准的原因是底层的presentfence不准了),需要通过hw_vsync来校准,HW_VSYNC代表硬件的刷新率。...

2022-07-28 10:34:40 1352

原创 SystemUIvisibility

2021-12-29 18:51:16 281

原创 InputChannel传递分发流程

2021-12-27 19:32:12 259

原创 layout NavigationBar,layoutStatusBar

在PhoneWindowManager的beginLayoutLw完成了Input,NavigationBar,StatusBar,DecorWindow的布局绘制,如果需要针对其他屏有这部分的定制化需求,可在这边修改。

2021-12-20 20:05:49 215

原创 AppWidget调用流程

2021-12-14 17:26:39 451

原创 getSnapshot获取流程

2021-12-14 16:12:44 852

原创 ART DumpNativeStack

native: #00 pc 00000000003c1684 /system/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+220) native: #01 pc 000000000048e...

2021-08-04 10:08:24 812

原创 Input事件window paused timeout导致ANR问题整理

Input事件window paused timeout导致ANR问题整理最近几个项目多次出现如下类型的ANR,需要重点关注分析一下此类问题Activity: com.android.systemui/.settings.BrightnessDialogSubject: Input dispatching timed out (Waiting because the touched window is paused.)分析多份log,基本都是这个Activity发生的ANR,发生场景相同,可归为

2021-08-04 09:14:41 1191 1

原创 跟踪创建流程

跟踪创建流程ActivityDisplay.createStack --> ActivityDisplay.createStackUnchecked --> ActivityStack.<init> --> ActivityStack.setWindowingMode --> ConfigurationContainer.setWindowingMode --> ActivityStack.onConfigurationChanged --> Activi

2021-08-04 09:01:29 421

原创 systemserver binder线程耗尽问题分析及优化方案

systemserver binder线程耗尽问题分析及优化方案一、问题场景描述 Systemserver作为系统核心进程,它提供了大量的binder服务,响应大量客户端binder请求,同时也会作为客户端,访问其它进程,如果systemserver有大量请求同时发出或者systemserver同时响应大量请求,并且处理请求的进程又遇到某些原因block住,这样长时间block,就会导致SWT发生。下面描述几个典型场景。场景1:场景描述: 整个流程就是进程A,例如com.med...

2021-08-04 08:59:55 2812

原创 动画(WindowState)销毁流程

动画(WindowState)销毁流程:new LocalAnimationAdapter()//新建一个动画适配器-->SurfaceAnimator.onAnimationFinished()-->回调-->AppWindowToken.onAnimationFinished() //动画结束,这里会判断Animation是否还存在,在的话就deleay做done操作,判断条件isSelfAnimating()-->WindowState.onExitAnimatio

2021-08-04 08:57:50 370

原创 PKMS分析

开机应用扫描PkMS构造方法-->scanDirTracedLI()-->scanDirLI{1.遍历目录下的所有文件2.获得ParallelPackageParser.ParseResult,parseResult.pkg}-->scanPackageChildLI--->addForInitLI{}-->--->scanPackageOnlyLI{1.pkgSetting相关变量赋值 Settings创建createNewSetting或者更新updat

2021-07-08 17:29:24 386

原创 systemui 重启失败导致keygurd为true 导致的ANR

systemui被杀后重启,从启动进程到attachApplicationLocked超过10s 执行processStartTimedOutLocked 导致再次被杀,由于没有执行到attach,不会死亡回调不再重启03-12 17:33:11.113265 1235 1405 I am_kill : [0,4610,com.android.systemui,-800,Too many Binders sent to SYSTEM]03-12 17:33:11.357911 1235...

2021-04-16 10:18:11 644

原创 Event log的各 TAG流程分析

Event log中有很多TAG通过他们可以分析一些运行是耗时在哪个区间。在终端打印adb shell -b events ,Event log常见的启动应用打印log:R版本正常一个应用冷启动的创建流程:wm_task_created--》wm_stack_created--》wm_create_task--》wm_create_activity--》am_proc_start--》am_proc_bound--》wm_restart_activity--》wm_set_resumed_act.

2021-03-10 16:33:14 8485 2

原创 SystemUI 连续ANR导致的黑屏问题

存在几个SystemUI启动失败导致的黑屏问题问题1:Q项目systemui先NE后ANR,anr的时候杀了刚起的systemui,导致systemui没有启动//先发生NE12-17 13:35:35.559 13579 13579 F DEBUG : pid: 4265, tid: 4265, name:ndroid.systemui >>> com.android.systemui <<<//后发生ANR12-17 13:35:51.417 13...

2021-02-05 16:23:30 992 1

原创 Monkey inputmethod ANR

Monkey中出现了一个ANRdumpsys window中mCurrentFocus=Window{2fd4f04 u0 com.google.android.inputmethod.latin}mFocusedApp=ActivityRecord{f2c78bf u0 com.android.settings/.Settings$RunningServicesActivity t7015}但是dumpsys SurfaceFlinger中没有对应的Layer。后面找到了一个复现路径:应用进

2021-02-04 11:40:14 223

原创 performSurfacePlacement和updateFocusedWindow流程

正常的流程应用的onResume调用完成之后会在eventlog中打印wm_on_resume_called,然后界面进行Relayout Window其中包含了performSurfacePlacement刷新界面和更新焦点updateFocusedWindow(会从top到bottom遍历canReciveKey为true的界面),将焦点切换到新的上面,此时WMS的windowstate已经获取了焦点,将window state状态往surfaceFlinger传递,在surfaceFlinger中传入

2020-12-21 14:17:19 2510 1

原创 一个界面的启动

上一个界面pause之后然后makeInvisible 那么focus window 变为null,等待下一个界面的起来,将焦点切过去。11-13 14:19:54.871 2681 2681 I wm_on_paused_called: [24382114,com.android.quickstep.recents_ui_overrides.src.com.android.launcher3.uioverrides.QuickstepLauncher,performPause]11-13 14..

2020-11-13 14:41:41 867

原创 手机静置后power键无法点亮屏幕,充电有震动反馈

07-24 10:41:40.665 1221 1434 I PowerManagerService: Waking up from Asleep (uid=1000, reason=WAKE_REASON_POWER_BUTTON, details=android.policy:POWER)...07-24 10:41:40.667 1221 1271 I DisplayPowerController: Blocking screen on until initial contents hav.

2020-09-27 17:51:03 754

原创 从QuickstepLauncher启动Settings的focus切换

打开WMS log:adb shell dumpsys window -d enable aadb logcat |grep -Ei "Looking for focus|findFocusedWindow: Found new focus|Changing focus from|No focusable window|Relayout of Window|Gaining focus|Focus entered window"从QuickstepLauncher启动Settings的focus切换..

2020-09-24 16:46:15 1043

原创 R项目手势导航操作出现No focusable windows

ANR no focus windowlog输出09-22 23:46:03.075 1758 3460 I WindowManager: activity:ActivityRecord{46ce519 u0 com.xxxx.launcher/com.android.quickstep.recents_ui_overrides.src.com.android.launcher3.uioverrides.QuickstepLauncher t18997} focusedApp:ActivityR...

2020-09-23 19:27:56 894 2

原创 no focused window ANR

R项目上面的出现了no focused window的ANR09-09 17:49:58.482 1164 1347 W InputDispatcher: Waiting because no window has focus but ActivityRecord{94be3e0 u0 com.android.settings/.SubSettings t50} may eventually add a window when it finishes starting up. Will wait f.

2020-09-17 17:02:29 8927 2

原创 Keyguard drawn timeout

有时log中会出现keyguard 1S超时的log08-05 22:09:48.397957 1109 1184 W WindowManager: Keyguard drawn timeout. Setting mKeyguardDrawComplete//framework部分代码流程PhoneWindowManager.screenTurningOn{mKeyguardDelegate.onScreenTurningOn(mKeyguardDrawnCallback);}---&gt.

2020-08-07 15:57:41 554

原创 Notification通知流程和SurfaceFlinger知识点学习

Notification通知大致流程App应用层:NotificationManager.notify–>NotificationManager.notifyAsUser()–>INotificationManager.enqueueNotificationWithTag()Framewrok框架中远程server进程:NotificationManagerService.enqueueNotificationWithTag()//将相关信息添加到StatusBarNoti

2020-08-03 14:48:41 561

原创 锁屏十秒超时,锁屏界面退出动画流程,FLAG_KEEP_SCREEN_ON亮屏

锁屏界面十秒超时/frameworks/base/services/core/java/com/android/server/wm/RootWindowContainer.javahandleNotObscuredLocked { mUserActivityTimeout = w.mAttrs.userActivityTimeout;}->SystemUIKeyguardVie...

2020-04-26 10:39:24 974 1

原创 Monkey测试中卡在开机阶段的问题

1.正常情况下,当手机非第一次重启,kernel的hang_monitor 会正常启动:2. 当手机发生FWR后,由于kernel会正常执行,所以hang_detect的机制理论上会正常工作;// hang_detect的工作机制流程kernel-3.18/drivers/misc/mediatek/aee/aed/monitor_hang.c以上是在Monkey测试中发现一例卡在...

2020-02-14 10:42:20 421

原创 kernel相关知识

为什么需要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v加1原子操作比普通操作效率要低,因此必要时才使用,且不能与普通操作混合使用如果是单核处理器,则原子操作与普通操作相同(2)自旋锁sp...

2020-02-14 10:33:43 383

原创 AutoBrightness亮度曲线的生成

AutomaticBrightnessController.configure(.... mLastUserSetScreenBrightness / (float) PowerManager.BRIGHTNESS_ON,...){ if (userChangedBrightness && enable) { // Update t...

2019-12-05 19:34:45 933

原创 Display brightness和state设置

DisplayPowerController.updatePowerstate--- >DisplayPowerController.animateScreenBrightness -->RampAnimator.animateTo -->///DisplayPowerState.setScreenBrightness{ mScreenBrightness =...

2019-11-27 16:43:45 3106

原创 Mark 一些调试快捷方法

while true; do adb shell dumpsys display |grep -Ei "mAmbientLightRingBuffer|mAmbientLux|mScreenAutoBrightness"; sleep 1; done隔一秒一直循环打印sleep 1 睡眠1秒sleep 1s 睡眠1秒sleep 1m 睡眠1分sleep 1h ...

2019-11-25 15:19:49 506

原创 Input 输入事件防止屏幕睡眠流程

adb shell getevent 收到了输入事件/dev/input/event3: 0003 0039 00000646/dev/input/event3: 0003 0035 00000177/dev/input/event3: 0003 0036 00000098/dev/input/event3: 0001 014a 00000001/dev/input/event3: 00...

2019-11-04 10:56:10 1091

原创 Performed 6 layouts in a row. Skipping

调用流程如下:/frameworks/base/services/core/java/com/android/server/wm/WindowSurfacePlacer.javaperformSurfacePlacement -> performSurfacePlacementLoop -> isLayoutNeeded -> requestTraversal -> ...

2019-11-01 16:17:05 1081

原创 ftrace的一些操作方法

以MTK为例aee 只是单纯拷贝 /sys/kernel/debug/tracing/trace copy_file(aee_dir, "SYS_FTRACE", "/sys/kernel/debug/tracing/trace");/sys/kernel/debug/tracing/tracing_on 写入 1 or 0 , 也就是开关 trace 动作/sys/kerne...

2019-09-03 15:10:32 859

原创 Waiting for drawn Window耗时过长流程梳理

存在一个问题:负载指纹响应时间衰退达到1秒多,从log中看Waiting for drawn Window 耗时太长Line 3204: 08-14 14:44:45.929433 1100 5600 I PowerManagerService: Waking up from sleep (uid=10028 reason=android.policy:FINGERPRINT)......

2019-08-19 11:35:37 4032 1

原创 ViewRootImpl.setView之后的relayout流程

对接https://blog.csdn.net/chi_wy/article/details/89187791中的部分继续跟一下代码wm是ViewManager,ViewManager是个接口,而WindowManager继承了ViewManager,WindowManagerImpl实现了WindowManagerActivityThead.handleResumeActivity--...

2019-08-16 16:42:28 1331

原创 应用NE导致进程变为T状态出现了ANR

Activity: com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivitySubject: Input dispatching timed out (Waiting to send key event because the focused window has not finished processing ...

2019-08-16 10:00:48 806

原创 InputDispatcher 消息窗口传递过程

InputDispatcher.InputDispatcherThread::threadLoop--->dispatchOnce--->dispatchOnceInnerLocked--->EventEntry::TYPE_MOTION--->dispatchMotionLocked--->findTouchedWindowTargetsLocke...

2019-08-13 16:02:41 1032

linux_makefile规则的编写

linux_makefile规则的编写

2012-04-10

Objective-C基础教程

Objective-C基础教程 IOS开发教程

2012-04-09

s2sh,jquery 上传下载,登入图形验证

s2sh,jquery , struts2上传下载,登入图形验证,hibernate 分页。菜鸟学习之用

2011-03-04

毕业论文设计,网上鲜花订购系统

毕业论文设计,PHP,Mysql,网上鲜花订购系统

2011-01-06

spring API

spring APIspring APIspring APIspring APIspring API spring APIspring APIspring APIspring API

2010-12-29

Spring开发手册

Spring Spring开发手册Spring开发手册Spring开发手册 Spring开发手册Spring开发手册

2010-12-29

Jquery API

Jquery API文档。。。。。。。不错不错不错不错不错不错不错不错不错不错不错不错

2010-12-29

S2SH整合考勤小系统

hibernate分页,多项查询,多表级联,菜鸟学习之用

2010-12-08

s2sh考勤管理小系统

三表级联,模糊查询,s2sh框架整合,hibernate分页,菜鸟学习之用

2010-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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