自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (6)
  • 收藏
  • 关注

原创 android 打点数据记录

power键亮屏200ms超时触发。2. Loading/CPU内存使用率统计。

2024-02-21 11:08:09 1003

原创 手机常亮屏不自动灭屏

1. WakeLock(休眠锁)WakeLock用于保持设备的唤醒状态,有些情况下,即时用户不操作App,我们也需要保持屏幕处于唤醒状态,以保证用户体验,比如视频类APP和计步类APP,视频类APP需要屏幕一直保持常量,计步类APP要求熄屏后程序依然保持运行状态。:保持CPU正常运转,但屏幕和键盘灯都可能是关闭的。:保持CPU正常运转,允许屏幕点亮但可能屏幕被置灰,键盘灯可能是关闭的。:保持CPU正常运转,允许屏幕高亮显示,键盘灯可能是关闭的。

2024-02-04 15:44:59 3126

原创 Android battery saver 简单记录

..

2024-02-02 22:04:55 1376

原创 AndroidU之解析/proc/pid进程参数

该文件包含了进程的完整命令行参数.软连接,根目录。该文件包含了当前进程的环境变量。软连接,。该目录包含了当前进程打开的文件描述符的列表,可以进一步访问每个文件描述符对应的文件路径等信息。该文件列出了当前进程挂载的文件系统。该文件包含了当前进程的状态信息,如进程ID、父进程ID、用户ID、状态等。该文件提供了当前进程的详细状态信息,如运行时间、CPU使用情况、内存使用情况等。该文件提供了当前进程的内存映射信息,包括可执行文件、共享库、堆栈等。

2024-01-29 11:14:15 1056

原创 Android oom_adj 更新原理(androidU)

若有前台服务,并且adj 大于PERCEPTIBLE_RECENT_FOREGROUND_APP_ADJ(低于由top进程转移到前台进程)并且,最后一次是top的时间+最长的间隔(TOP_TO_FGS_GRACE_DURATION,默认为15秒,)大于现在的时间,也就说从top 级别的时间变成前台进程的时间在15秒以内;系统根据进程组建的状态来决定每个进程的优先级adj 值,然后再根据一定的策略选择优先级低的进程kill,以此类推,通过回收预期的系统资源来保证系统的正常运转。不含任何活动应用组件的进程。

2024-01-13 22:14:34 372

原创 android 亮屏流程分析--随记

一. 源码分析:1.按键上报流程.(1).从native 层上报事件://打开log 调试开关#define..........//动态JNI注册I)I");....// Policy:} else {} else {(2). 通过JNI 调用的java 层InputManagerService.java,对应的路径://C++ 层调用对应的java 层函数.

2023-11-02 11:11:40 396 1

原创 Android13 广播发送流程分析

***//***/;在广播队列中定义了两个处理列表,一个是并发处理列表,一个是有序处理列表。= 0;+ (isFg?上面的三个方法是上面源码中出现的,broadcastQueueForIntent根据intent是否含有来判断是前台广播还是普通后台广播,如果是前台广播返回前台广播处队列。如果是普通后台广播返回后台广播处理队列。获取队列后,将发给【动态注册且接受无序广播的广播接收者】的广播通过函数添加到该队列的并发处理列表中。

2023-10-21 17:31:38 1144

原创 SQLite 优化配置

2.SQLite默认的sync mode 为full,但是敝司有了解到有些客户(如小米 OPPO)会进行客制化,即将sync mode修改为normal,这样SQLite数据库引擎在大部分紧急时刻会暂停,但 3. normal不像FULL模式下那么频繁,从而提升了操作速度。4. full和normal最大的区别在于full模式下于SQLite数据库引擎在紧急时刻会暂停以确定数据已经写入磁盘,而normal模式下SQLite数据库引擎只会在大部分紧急时刻会暂停,但不像FULL模式下那么频繁。

2023-10-16 15:57:27 645

原创 ANR 默认时间修改

1. input 时间修改:22 {2. Broadcast时间修改:3. ServiceTimeOut 时间修改:4. provider timeout 时间:/*** @hide*/

2023-10-11 15:59:24 220

原创 android 开机广播是在哪里发出的

在 frameworks/base/services/core/java/com/android/server/am/UserController.java 文件里,做 android 开发都知道有开机广播这回事,具体从哪里发出的呢?追溯下源码,在 AN 9.0 frameworks/ 目录下搜索。指定了 flag 为。

2023-10-10 22:08:09 43

原创 Power键不亮屏分析方法

15:41:07.827 911 2234 D PowerManagerService-JNI: Excessive delay in autosuspend_disable() while turning screen on: 424ms【L版本】16:57:31.436586 1020 1301 D SurfaceControl: Excessive delay in setPowerMode(): 403ms【M 版本】(2) 一条一条依次检查,直到如果发现某条log找不到,那问题就出在这个地方;

2023-08-30 11:33:58 23

原创 ANR 不弹框问题1记录

persist.vendor.aeev.ncore.dump会被设置成enable,导致ro.hw_timeout_multiplier 数据太大,影响了ANR的timeout时间.从上面的代码可以看出来, 将ro.hw_timeout_multiplier 设置成10, 也就说将timeout 时间扩大了10倍. 所以ANR 很难出现.当persist.vendor.aeev.ncore.dump 设置为enable 时,会 将。(1) init.aee.customer.system.rc 文件。

2023-08-29 21:45:20 172

原创 Chrome卡顿异常,进入后搜索网页内容,卡屏、卡死,见视频

因为驱动只配置了一个90hz的帧率.而上层获取的是60hz. 和驱动同事沟通,由于驱动架构的原因.配置了两个帧率60hz和90hz,上层获取正常的帧率.debug 很久,依然找不到问题的原因. 意外发生上层获取的帧率显示60hz,而,示波器测量的结果是90hz. 由此猜测是帧率不齐导致的.【问题点】:Chrome卡顿异常,进入后使用Google搜索网页内容,测试机卡屏。主线程等RenderThread。二. 对比历史版本和历史其他手机做对比.2. 历史版本也有此问题.五. 修改帧率不齐的问题.

2023-08-27 17:43:13 387 1

原创 将SD卡格式化为便携式存储,出现手机重启

发生了watchdog ,阻塞在ActivityManagerService.monitor()函数. Watchdog 监听android.fg 进程,当长时间阻塞时,会被watchdog 杀掉,因为是system server 进程,所以手机就发生了重启.【专项测试】【T卡】【>10%】将SD卡格式化为内部存储后选择立即迁移数据,再安装应用,然后数据迁移回内部存储,最后将SD卡格式化为便携式存储,出现手机重启.(6)设置-存储-SD卡,选择将SD卡格式化为便携式存储。

2023-08-27 11:40:53 746

原创 android event log TAG 打印记录

();.();3.

2023-08-25 17:20:44 190 1

原创 手机一直处于“always shows phone is starting“显示界面

做test DPC 测试之后,手机处于处于"always shows phone is starting"显示界面.查看日志发现,有大量的应用被卸载,也发现com.android.launcher3 被卸载.注:由于bug时间比较长,所以没有及时记录过程,只记录解决方案.添加launcher3 包名之后,测试正常.

2023-08-19 15:03:47 148

原创 在开机向导界面出现右上角小绿点

此bug是优化camera 硬启动造成的, (当收到开机完成广播,进行软启动camera),解决方案是在systemui中添加白名单,屏蔽显示图标。

2023-08-19 14:18:45 139

原创 使用uiautomatorviewer工具跑脚本发生中断

或者说当发生ANR时,发现memory 压力,CPU ,iowait 都正常,看看是否在息屏操作的。在跑脚本是,手机显示时间选择的是30分钟,而且,在开发者模式里面选择的是"stay awake",都是常亮的。发现在07-05 11:39:59~07-05 11:40:19 发生过一次息屏,但是很快按power key 就亮屏了,不应该存在息屏的情况。Proximity 中上报distance =1, 是最后的上报,而distance = 1,表示接近的,有遮挡。发现每次复现之后,手机都是息屏的。

2023-07-08 20:40:08 1077 1

原创 跑monkey 中断记录

【代码】monkey 测试自动关机-- monkey 误操作导致关机。

2023-06-16 14:10:04 177

原创 手机版本回刷,导致不能开机一直处在开机动画界面

(这里只是可能,因为tombstoned先出现,不过,我们不用关心,这两个服务,我们都没有更改,不应该是他们引起的错误。(2)查看红色的部分,看起来有问题,第一个红色的部分,和正常日志一样,说明没有问题。(1)从上面的日志,查看,黑色粗体部分,是userdata挂载的时候,要经过的步骤,没有报错,最后也是挂载成功了的。可以看到,在rc文件中,系统是有动作创建这个文件的,但是失败了,原因是data 是只读的。(1)按道理,程序在打开这个文件的时候,如果这个路径没有,那么就会创建一个。然后就打印如下崩溃信息。

2023-06-15 21:24:39 1069

原创 Abort message: ‘JNI ERROR (app bug): global reference table overflow (max=51200)global reference tab

global reference table overflow

2023-05-07 19:14:53 1269

原创 Android animate scaleX() 失效

最近遇到很奇怪的问题。发现View.animate().scaleX()失效的。 如代码如下: frameworks/base/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java public void stopDrag() { itemView.animate() .setDuration(D...

2021-08-11 17:46:42 710

原创 [Google GTS]GtsMemoryTestCases#com.google.android.memory.gts.MemoryTest#testPersistentProce

描述:SystemUI内存消耗较大,有时会比其他手机内存消耗多1/3左右,请确认能否优化。164,559K: Persistent ( 27,957K in swap)92,304K: com.android.systemui (pid 1431) ( 11,882K in swap)38,306K: com.android.phone (pid 1750) ( 5,916K in swap)19,375K: com.**.presence (pid 2378) ( 6,122K in sw

2021-08-02 11:20:16 448

原创 Java Arrays.binarySearch 方法调用陷阱

事情背景: 在做Android项目开发时,有一个小功能是通过配置,判断对应的功能是否存在。 譬如:String fulluicctype = SystemProperties.get("vendor.gsm.ril.fulluicctype",""); 获取动态fulluicctype 判断是否包含"USIM"字符串。fulluicctype 要么为空,要么包含多组“单词“,如: String fulluicctype = "SIM,USIM,RUIM"; ...

2021-01-21 14:46:24 390 1

原创 Android R 护眼模式 选择日落到日出期间开启失败

测试描述:前提条件:设置-系统-时间和日期,调节时间为(夜间模式时间大约17:45-6:35)操作步骤:设置-显示-夜间模式,设定时间在日落到日出期间开启,调节时间问题点:调节时间为(夜间模式时间大约17:45-6:35),没有成功开启夜间模式预期结果:调节时间为(夜间模式时间大约17:45-6:35),成功开启夜间模式备注:谷歌机11.0可以成功开启分析过程:(1)对代码添加log:1)frameworks/base/services/core/java/com/...

2021-01-11 18:01:32 944

原创 Android P 设置浅色壁纸后,虚拟键不显示

一、测试描述:前提:设置Device theme为Light,手机内上传有浅色图片操作步骤:1、长按手机屏幕2、点击Wallpapers3、选择已有的浅色图片设置为Home screen问题点:设置壁纸后,返回待机界面,手机屏幕闪了一下,虚拟键不显示期望结果:虚拟键正常显示测试视频:Android P 设置浅色壁纸后,虚拟键不显示分析过程:(1)首先要验证虚拟键是否真的消失? 点击虚拟按钮位置是否有效果。 ==>检测方法, 手动点击虚拟按键位置,譬如:长按r...

2021-01-11 16:51:48 252

原创 Android P [GOTA]升级成功放置自动灭屏后,使用Power key点亮屏幕,触屏滑屏无效

今天遇到一个非常奇怪又非常严重的问题,而且是偶现问题,使用其他手机复现不了,所以这台手机只能保留原始状态(不重新刷机或者不重新关开机)。就是GOTA升级完成,手机卡死某锁屏界面,点击没有任何响应。但是,双击Power键位会打开Camera界面,但是,Camera界面的相机预览是黑色。针对此问题分析:[1]首先考虑触摸报点是否正常,通过命令adb shell getevent 查看报点是否正常...

2019-07-23 20:23:05 850 1

原创 android 横竖屏不能旋转

最近遇到一个很奇怪的bug,手机所有界面横竖屏不能切换,但是,内置Camera 的拍照按钮可以随着横竖屏可以转动.        第一次反应是重力传感器,方向传感器以及加速度传感器是否有效.本地有测试传感器的apk,发现重力传感器失效,方向传感器是正常和加速度传感器是正常的。      寻找触发横竖屏的方法。      触发屏幕旋转对应代码:frameworks/base/services...

2018-12-17 20:48:17 1689 2

原创 Android P 拦截虚拟按键事件

    最近有一个奇怪的需求,当储存空间不足时,需要一个提醒框.此提醒框出现时只能点击提供的button才能跳转到释放文件空间的地方.触发其他地方要求无响应(包括虚拟按键).     此做法有两种,一种是使用悬浮框. 一种是对话框.不管是那种做法,都需要屏蔽虚拟按键的响应.   一.寻找解决方案.        (1)使用SDK自带工具hierarchyviewer 查看虚拟按键的布局,发现...

2018-11-09 18:29:06 1846

原创 Android P 版本 按power键熄屏再亮屏UI控件无响应

测试步骤: [1]设置-->安全性和位置信息-->屏幕锁定-->选择"无"[2]进入可以本地仅仅可以刷新的界面.[3]先熄屏,然后在亮屏.[4]发现UI有卡死的效果.(点击无反应,上次滑动也无反应)[5]按back/home/Recents, 然后再操作UI,UI恢复正常.此问题是google的一个patch引起的.方案:frameworks/base/core/...

2018-11-08 13:14:08 1078

原创 java == 和 equals区别

     刚刚接触java的同学来说,equals()和“==”的功能经常在用,却分不清概念,我们深入了解一下概念.        (1) == :其实就是地址比较,就是说两个对象是同一个对象。但是,基本类型(除String) 都是判断值是否相等.        (2)equals : 可以认为仅仅是Object的一个方法,理论上继承此方法可以任意发挥去写(注意,此方法有深层的含义,随意重新的话...

2018-11-01 20:45:04 149

原创 从问题出发:捕获监听android 栈顶Activity的resume变化

熟悉Android framework的同学都清楚Activity 进出栈是依靠ActivityStack.java(android/frameworks/base/services/core/java/com/android/server/am/ActivityStack.java)进行管理,但是,对ActivityStack不熟悉的同学或者没有接触的,请参考下面的文章.    最近做项目,有一...

2018-10-24 11:49:02 4146

原创 Android Action匹配多个Activity信息

      通常情况下,我们都是通过android系统,context.startActivity(intent)方法开启Activity,若intent 中包含action, 当action匹配多个Activity时,系统会跳出选择启动那个Activity界面. 此现象在android系统中是非常常见的。     但是,若问通过action怎么查找对应的Activity? 可能大部分学者,都感...

2018-10-23 10:53:48 2301

React Native:用JavaScript开发移动应用

推荐《React Native 跨平台移动应用开发》,可以说是国内外至今第一本真正原创的 React Native 教程(而不是对官方文档的翻译),适合初学者进行系统的学习,建议每个 RN 开发者都买来学习。

2017-08-22

JavaScript权威指南

《JavaScript权威指南(第6版)》讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScriptAPI。本书涵盖了HTML5和ECMAScript5,很多章节完全重写,增加了当今Web开发的实践内容,新增的章节包括jQuery、服务器端JavaScript、图形编程以及JavaScript式的面向对象。本书不仅适合初学者系统学习,也适合有经验的JavaScript开发者随手翻阅

2017-08-22

JavaScript语言精粹

JavaScript 曾是“世界上最被误解的语言”,因为它担负太多的特性,包括糟糕的交互和失败的设计,但随着Ajax 的到来,JavaScript“从最受误解的编程语言演变为最流行的语言”,这除了幸运之外,也证明了它其实是一门优秀的语言。Douglas Crockford 在本书中剥开了JavaScript 沾污的外衣,抽离出一个具有更好可靠性、可读性和可维护性的JavaScript 子集,让你看到一门优雅的、轻量级的和非常富有表现力的语言。作者从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9 个方面来呈现这门语言真正的精华部分,通过它们完全可以构建出优雅高效的代码。作者还通过附录列出了这门语言的毒瘤和糟粕部分,且告诉你如何避免它们。最后还介绍了JSLint,通过它的检验,能有效地保障我们的代码品质。, 这是一本介绍 JavaScript 语言本质的权威书籍,值得任何正在或准备从事JavaScript 开发的人阅读,并且需要反复阅读。学习、理解、实践大师的思想,我们才可能站在巨人的肩上,才有机会超越大师,这本书就是开始。

2017-08-22

android 上下滑动刷新加载

GridView,ListView,ScrollView,WebView 上下滑动刷新加载。 充分使用java封装特性。

2014-06-09

android中仿iphone的UISwitch

自己定义了,仿iphone的UISwitch,我在项目中了两个任意的图片,在下载后可以根据自己的需要设置图片,而且此UISwitch可以进行扩展,不仅仅针对两张图片!

2011-10-21

android简单总结

对于android方面进行简单总结,可能对你们有用!

2011-06-16

空空如也

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

TA关注的人

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