- 博客(114)
- 收藏
- 关注
原创 引用和指针的区别
引用(reference)和指针(pointer)都是 C++ 中用来间接访问内存中对象的机制,但它们有一些重要的区别。指针有自己的内存地址,并且存储的是它所指向对象的内存地址。你可以获取指针的地址,也可以获取它指向的对象的地址。你不能获取引用本身的地址,只能获取它所引用的对象的地址。// 输出的是指针存储的 y 的地址。指针可以是 nullptr,表示不指向任何对象,或者指向无效的内存地址(虽然指向无效地址是危险的)。// 输出的是指针本身的地址。
2025-11-27 19:57:23
442
原创 AndroidServices-Debug
/获取statusbar服务相关dumpsys信息。//列出当前运行的服务(服务对应name)//列出当前运行的服务(服务对应name)//查询ams的相关dumpsys 操作。//列出当前运行的服务以及对应name。//查询statusbar的相关命令。命令行对应代码调用大体流程。//查询ams的相关命令。//查询wms的相关命令。//查询pms的相关命令。
2023-03-18 23:31:33
664
原创 安卓10.0 分屏相关
安卓10.0 分屏packages/apps/Launcher3/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskMenuView.java
2025-11-22 20:04:45
106
原创 展锐平台日志简述
external_storage —— 外置SD卡的日志导出,是对internal_storage的扩展。当终端装设外置SD卡时,可以设定ylog工具将日志优先输出到外置SD卡中。internal_storage —— 内置存储空间的日志导出。android.log(包含mainlog、eventlog、systemlog、crashlog) data —— 存储在系统data区的相关日志文件导出。trace文件夹包含anr文件、trace文件等。文件:pulldump.bat。
2025-05-24 00:34:22
61
原创 PowerUI低电量提醒
Android电池警告机制摘要:Android 12和13在低电量警告机制上存在差异。Android 13设置低电量警告阈值为20%,严重警告为10%;而Android 12分别为15%和5%。当电量低于阈值时,系统会弹窗警告,并通过标志位(mLowWarningShownThisChargeCycle)防止重复提示。当电量恢复至特定值(A13为30%,A12为45%且剩余时间>6小时)时重置标志位,允许再次触发警告。该机制通过PowerUI.java的maybeShowHybridWarning方法实现
2025-05-24 00:31:03
106
原创 Android 调试系列-Dumpsys实战篇
本文介绍了Android调试工具dumpsys的实战应用。dumpsys可获取系统服务的状态信息,文中列举了常用服务对应的类名和功能。通过四个典型场景展示其用法:1)查看当前前台Activity;2)查询App的Service状态;3)获取App的Activity及View层级信息;4)查看App进程详情。文章建议开发者多加实践,灵活运用dumpsys命令以提高调试效率。
2025-05-24 00:19:45
266
原创 Android.mk解析
一、变量说明:1.LOCAL_PATH:= $(call my-dir)此行代码在Android.mk的开头,用于给出当前文件的路径LOCAL_PATH 用于在开发树中查找源文件宏函数’my-dir’, 由编译系统提供,用于返回当前路径(即包含Android.mk file文件的目录)2.LOCAL_PACKAGE_NAME := SecSettings 或 LOCAL_MODULE:= SecSettings标识在Android.mk文件中描述的每个模块。名称必须是唯一的且..
2025-05-24 00:07:16
1039
原创 Android sensor
Android系统内置16种传感器,包括加速度、磁力、方向、陀螺仪、光线、压力、温度等常见传感器,以及重力、线性加速度、旋转矢量等复合传感器。这些传感器通过硬件检测和算法计算,为手机提供运动感知、环境监测和位置判断等功能。例如加速度传感器测量手机倾斜状态,光线传感器调节屏幕亮度,压力传感器辅助GPS定位海拔。各类传感器协同工作,实现自动亮度、指南针、运动追踪等智能功能,并通过标准化接口为开发者提供数据支持,是智能手机实现环境感知和交互的基础。
2025-05-24 00:04:59
644
原创 工作中Android稳定性问题总结
Android系统稳定性问题主要分为四类表现:系统服务重启、死机重启、定屏和黑屏问题。从技术层面可分为超时(timeout)和崩溃(crash)两类。具体分析包括:应用killed问题:普通应用和系统应用被kill的不同处理方式,涉及crash、ANR和LMK机制。系统重启问题:Watchdog机制:30秒检测周期,60秒未响应会kill system_server进程crash(NE)问题:通过堆栈分析定位代码问题FD泄漏:文件句柄未关闭导致资源耗尽典型案例包括空指针异常、多线程竞争、内
2025-05-23 23:57:35
448
原创 20200201工作笔记常用命令要整理
lunchprod [sku]-[user/userdebug] sku选项:m11_row_lte/m11_row_wifi。adb push '/home/ts/桌面/测试资源/app-debug.apk' sdcard/ (当前apk路径使用绝对路径)3.mmm framework/base/core 或者 cd framework/base/core 执行 mm。SystemUI 自动旋转快捷方式打开时 值为最后一次旋转值。辅助功能的自动旋转屏幕开关,0表示打开。旋转状态,0表示不支持旋转。
2025-05-23 23:50:05
590
原创 OpenGL
OpenGL简介什么是OpenGL ES? OpenGL(Open Graphics Library)指定义了一个跨编程语言,跨平台的编程接口规格的专业图形程序接口。用于三维/二维图形,是一个功能强大,调用方便的底层图形库。 OpenGL ES (OpenGL for Embedded Systems)是OpenGL三维图形API的子集,针对手机和游戏主机等嵌入式设备而设计。OpenGL ES相对于OpenGL来说,减少了许多不是必须的方法和数据类型,去掉了不必须的功能,对代价大的功能做了限制
2025-05-23 23:48:08
1187
原创 adb shell命令 详解adb shell 常用命令
du [-H] [-L] [-P] [-a] [-d depth] [-s] [-cghikmnrx] [file…//在2目录下创建一个名为2o.txt的2的硬连接文件(因为2的目录下已经存在2.txt文件,不然使用"ln 2.txt 2"命令就可以了)mount mount [-r] [-w] [-o options] [-t type] device directory 挂载设备信息。cmp cmp[-b][-l][-n count] file1 file2 要指出两个文件是否存在差异。
2025-05-23 23:41:31
867
原创 理解Android ANR的信息收集过程
理解Android ANR的信息收集过程http://gityuan.com/2016/12/02/app-not-response/Posted by Gityuan on December 2, 2016基于Android 6.0源码, 分析当发生ANR时系统的处理过程frameworks/base/core/java/android/os/Debug.javaframeworks/base/core/jni/android_os_Debug.cppsystem/core/li
2025-05-18 23:14:32
1016
原创 开发过程中遇到Selinux问题分析
在2021年11月20日的日志中,系统应用(system_app)尝试向服务管理器(service_manager)添加一个名为event_usagestats的服务时,由于SELinux的安全策略,操作被拒绝。具体来说,system_app缺少对default_android_service的add权限。日志显示,该操作在DataServiceApplication的onCreate方法中触发,并导致java.lang.SecurityException异常。为了解决此问题,需要在SELinux策略中添加
2025-05-18 23:11:26
327
原创 Selinux权限问题处理指导文档分享
Selinux权限问题处理指导文档概述SELinux概述Selinux即Security-Enhanced Linux,由美国国家安全局(NSA)发起,Secure Computing Corporation (SCC) 和 MITRE直接参与开发,以及很多研究机构(如犹他大学)一起参与的强制性安全审查机制,该系统最初是作为一款通用访问软件,发布于2000年12月(代码采用 GPL 许可发布)。并在Linux Kernel 2.6 版本后,有直接整合进入SELinux, 搭建在Linux Sec
2025-05-18 23:07:14
1452
原创 实用的20条adb命令汇总
本文介绍了多种通过ADB(Android Debug Bridge)命令管理和调试Android设备的操作。主要内容包括:获取设备序列号和MAC地址、安装和卸载应用、查看和终止进程、管理内存和CPU使用情况、发送广播、控制通知栏、获取电池信息、禁用自动旋转、强制打开“未知来源”安装选项、修改系统设置(如时间、亮度、输入法等)以及管理电源和网络连接等。这些命令为开发者提供了强大的工具来调试和控制Android设备,适用于自动化测试和系统管理。
2025-05-18 23:03:45
1143
原创 HarmonyOS 2.0系统部分功能调研
HarmonyOS 2.0系统部分功能1.隔空手势2.指关节手势3.横竖屏支持4.分屏支持1.隔空手势辅助功能-智慧感知内三个功能(隔空滑动屏幕、隔空截屏、隔空按压)1.1 隔空滑动屏幕:支持:仅支持图库和电子书。前提:在距屏幕20~40厘米处。隔空向右滑动屏幕-手朝左并稍做停留,待出现手型图标后向右挥动,可向右滑动屏幕。隔空向左滑动屏幕-手朝右并稍做停留,待出现手型图标后向左挥动,可向左滑动屏幕。隔空向下滑动屏幕-手朝上并稍做停留,待出现手型图标后向下挥动,可向下滑动屏幕。隔空向上滑动屏
2023-03-18 23:36:37
1668
原创 应用的Activity生命周期调用后EvenetLog回调
表示Activity的onResume被调用完成.Android R变更为:wm_on_resume_called (之前am_on_resume_called )Android R变更为:wm_on_create_called(之前am_on_create_called)表示Activity的onTopResumedActivityChanged(true)被调用完成.表示Activity的 onCreate被调用完成,即APP中的onCreate调用完成。表示Activity的onStop被调用完成.
2023-03-18 23:27:20
2953
原创 Android12 正式发布 | 开发者全新体验
Android12(S) Beta版本新功能 新体验 新特性1. 微件可以实现圆角,为按钮、背景及其他组件使用设备主题颜色,提供更精细的大小属性和更灵活的布局。2. 增加音频耦合触感反馈效果,可让您获得更身临其境的游戏和音频体验。3. 引进新的应用启动画面 API,新的启动动画。4. 允许按来电重要性排名的新通话通知,为通话增加新的通知样式,同时在状态栏显示带有通话时间的条状标签并且点击标签可跳转至通话界面,当然这种通知优先级最高排在最前。
2021-10-13 15:46:09
570
4
原创 常用命令Linux与Windows对比
文件及目录操作文件操作列出文件ls/ll/ls -aldir创建目录mkdir DirNamemd DirName创建文件touch fileNmetype nul:> "." / echo > filename
2021-10-12 16:45:43
893
2
原创 Android KeyEvent模拟及KeyCode原生代码对照表
Android KeyEvent KeyCode 原生安卓代码对照表:模拟手机按键HOME键adb shell input keyevent 3public static final int FLAG_WOKE_HERE = 1;public static final int KEYCODE_0 = 7;public static final int KEYCODE_1 = 8;public static final int KEYCODE_11 = 227;public static fi
2021-10-09 09:17:05
1780
原创 Android11.0(R) 关于指纹&人脸的录入及解锁源码分析
涉及模块:1. 指纹录入2. 人脸录入3. 指纹解锁4. 人脸解锁5.指纹管理6.人脸管理
2021-10-05 09:53:14
3507
1
原创 AndroidStudio应用开发优先使用提供jar包的API
编译安卓系统,全编或者单编framework。第一步:将编译好的classes.jar第二步:在 AndroidStudio 中选中 framework.jar 右键选择 Add As Library 。然后打开模块目录下的build.gradle,将implementation改成compileOnly。第三步:要想优先使用 framework.jar 中的API,还需要添加一条 preBuild 的指令。最后一步:build.gradle 中也需要添加一条如下指令
2021-09-29 20:38:27
1410
1
原创 Android系统应用导入jar包和aar包
系统应用导入jar包和aar包1.导入core.jar包,libs目录,Android.bp、Android.mk中加入相关引用。2.导入dpi.aar包,libs目录,Android.bp、Android.mk中加入相关引用。
2021-09-29 20:36:52
626
原创 软件编程自学快速入门
入门学习网站。包含了Java, Android、C\C++、算法、数据库、HTML、CSS、Javascript、Python、Ruby、PHP 、MySQL等各种编程语言的基础知识。
2021-09-08 15:48:51
15243
原创 LockSettingsService增加接口
LockPatternUtils、LockSettingsService增加setSecurityPassword(String pwd)和getSecurityPassword()方法接口
2021-09-07 20:21:23
562
原创 如何在framework层封装(判断“日落-日出”)接口提供给应用层使用
前言:大家可能在应用层比如三方应用APP、或者系统APP(如Settings)等想调用底层fw层返回得一个值,如int、boolean等。但是苦于fw给上层没有提供接口,是不是让人很头疼。今天我们就聊聊如何取fw层得一个值或者状态。 以我们实际开发中遇到得问题为例,来说说。大家不知道有人了解过“日落“、”日出”,系统是如何判断的吗?可能大部分人没有遇到过。其实每天日落日出时间是不一样的,只需要判断当前系统时间是否在“日落-日出”。系统时间很好获取,但是如何知道当天日落和日出时间呢!?这是一个...
2021-09-07 19:44:20
1293
原创 publishBinderService和publishLocalService区别
SystemService.java中的两个重要方法:publishBinderService和publishLocalService区别
2021-09-01 20:11:31
1963
2
原创 Android Framework 面试总结
Java语言的特点和特性Android开发面试经典题目Android系统启动流程内存泄漏检测实战
2021-06-01 18:46:20
3063
3
原创 安卓源码流程
安卓流程:Android之zygote源码剖析(一)[https://www.jianshu.com/p/83d457cd117e](https://www.jianshu.com/p/83d457cd117e)Android之SystemServer介绍(一)https://www.jianshu.com/p/1079f06984b4
2021-06-01 18:09:23
260
原创 Systrace
TRACE:在命令行上捕获系统跟踪记录https://developer.android.google.cn/topic/performance/tracing/command-line?hl=zh-cnperfettohttps://developer.android.google.cn/studio/command-line/perfetto?hl=zh-cn开发这模式的系统trace使用PerfettoUI打开https://developer.android.google.cn/topic
2021-06-01 18:06:10
344
原创 dumpsys
dumpsys:android dumpsys实时查看各service状态https://blog.csdn.net/kc58236582/article/details/51159935https://blog.csdn.net/wd229047557/article/details/88319358adb命令(电池相关)https://www.jianshu.com/p/9636d17907b7
2021-06-01 18:01:47
517
原创 工作中遇到问题资料-未整理
学习资料:资料:工具类:SecureCRT配色推荐和永久设置https://blog.csdn.net/zq710727244/article/details/53909801平时遇到:SD异常拔出流程浅析https://blog.csdn.net/sgzy001/article/details/44857955Android O适配—NotificationChannelhttps://blog.csdn.net/misiyuan/article/details/78384819Med
2021-05-30 20:10:59
226
2
原创 字节跳动面试初
startActivityForResult()的使用?如果两个activity不在一个栈内,result怎么传递?跳转机制的关键在于如何定义requestCode, resultCode这两个参数,结合好这两个参数就能够实现非常多的功能,而且Intent又能够搭载数据,excellent!!Activity的启动模式。1,standard默认模式,可以不用写配置。在这个模式下,都会默认创建一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加。2,sin
2021-05-27 16:12:45
231
转载 Android App性能流畅度测评分析可以用到工具
1.前言在手机App竞争越来越激烈的今天,Android App的各项性能特别是流畅度不如IOS,安卓基于java虚拟机运行,触控响应的延迟和卡顿比IOS系统严重得多。一些下拉上滑、双指缩放快速打字等操作,安卓的流畅度都表现比较糟糕,但是,对于App使用过程是否流畅,一直没有一个可靠的指标将用户的客观感受和数据一一对应。虽然之前有FPS(每秒帧数)作为游戏或视频类App的性能指标,但对于那些界面更新不多的App来说,仍不是一个合适的衡量数据。以下会根据实际app性能测试案例,展开进行app性能评测之流畅
2021-01-20 17:41:20
1965
转载 Android应用优化之冷启动优化
Android应用优化之冷启动优化前言事件发生在发包上线的前两天,在某某云进行移动测试时,提示冷启动速度低于平均值的问题,之前自己也曾尝试过优化,但是发现效果并不是很明显,作为一个有追求的开发者,趁着有点空闲时间,要好好研究一下冷启动优化问题。App的启动流程我们可以了解一下官方文档《App startup time》对App启动的描述。应用启动分为冷启动、热启动、温启动。而冷启动是应用程序从零开始,里面涉及到更复杂的知识。我们这次主要是对应用的冷启动进行分析和优化。应用在冷启动的时候,需要
2021-01-20 17:32:20
446
1
转载 Android应用优化之流畅度实操
Android应用优化之流畅度实操上一篇流畅度概念向大家详细地描述了VSync机制和Choreographer编舞者的用法。可能所讲解的内容偏向理论概念,因此这篇是流畅度优化实操,整篇主要分三层,UI层、代码逻辑层、IO层来讲述各个优化点,其中还会穿插多个辅助检测插件。可谓干货满满,希望对大家有用。最基本的UI层显示优化1.调试GPU过度渲染在App出现卡顿的时候,我们第一时间会想到我们的App是不是存在过度绘制的问题。为什么要先看过度绘制的问题,因为直接直观方便啊,在每一台手机的开发者选项里中打
2021-01-20 17:29:36
390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅