- 博客(855)
- 资源 (37)
- 收藏
- 关注
原创 Android 开发技术干货
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、Android 开发知识点二、Android 稳定性知识点三、Android 面试知识点四...
2020-12-09 08:00:00 1804 3
原创 东哥发钱,大帝升官,禾赛,闻泰,ARM,海力士裁员
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:激光雷达龙头:禾赛科技被曝裁员:N+1,无年终奖手机ODM 龙头:闻泰科技被曝裁员:N+1后壮士断腕,出售9家ODM业务给立讯芯片架构: ARM中国裁员 30-40 人,裁员补偿“N+3”芯片生成商:SK 海力士子公司被曝裁员:赔偿 12 个月工资,子女学费全包京东刘强东:东哥又给江苏老家发现金了,60岁以...
2025-01-03 12:51:16 853
原创 MTK pdaf bringup导通流程
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、开发环境平台:mt6833主摄sensor: s5kjn1sq模组厂:qtech马达:dw9800二、前期准备工作在MOL上download 官方bring up文档,01_02_Driver_Check-PDAF_Driver_Porting_Guide_release_V1.4.pdf(最新).问模...
2024-09-19 08:09:47 1342
原创 camera死锁问题的分析与解决
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点: 最近处理一个bug,手机自带相机app和三方app全部无法打开相机。哪怕app退出再次进入也无法打开相机,只能重启手机了。打开log,发现如下出错信息:04-14 14:53:55.629 1427 3487 E CameraService: C...
2024-09-18 08:26:44 1071
原创 Android malloc debug介绍
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一 简述android 的libc中有malloc_debug的hook调用,我们可以使用malloc_debug中的hook函数对内存分配进行跟踪加测。malloc_debug主要包含的功能如下:内存分配和释放跟踪,支持的函数如下:malloc free calloc reallo...
2024-09-13 08:44:31 998
转载 Android Native crash 分析方法
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一.分析材料1.1 tombstone文件位置:data/tombstones/中,最多存10个,超过会从最旧的复写掉.chengang@mi:~/Documents/gdb_file$ adb shellphoenix:/ # cd data/tombstones/ ...
2024-09-12 08:10:38 531
转载 Android 显示 BufferQueue汇总
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:BufferQueue 类是 Android 中所有图形处理操作的核心。它的作用很简单:将生成图形数据缓冲区的一方(生产方)连接到接受数据以进行显示或进一步处理的一方(消耗方)。几乎所有在系统中移动图形数据缓冲区的内容都依赖于 BufferQueue。现在,我们添加一个空的drawNativeWindow实...
2024-09-06 08:26:10 545
转载 Android HWUI 绘制流程
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:Android中,绘图的API很多,比如2D的绘图skia;3D的绘图OpenGLES,Vulkan等。Android 开始,的View系统中,多数都是采用2D的模式的View Widget,比如绘制一张Bitmap图片,显示一个按钮等。随着Android系统的更新,和用户对视觉效果的追求,以前的这套2D ...
2024-09-05 08:22:02 1202
转载 Android 显示 Fence 机制
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:Fence是一种同步机制,在Android里主要用于图形系统中GraphicBuffer的同步。那它和已有同步机制相比有什么特点呢?它主要被用来处理跨硬件的情况。尤其是CPU。GPU和HWC之间的同步,另外它还能够用于多个时间点之间的同步。GPU编程和纯CPU编程一个非常大的不同是它是异步的。也就是说当我们...
2024-09-04 07:54:23 543
原创 MTK 多帧拍照流程分析
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、多帧拍照请求概览二、多帧拍照回帧概览一、多帧拍照请求概览多帧拍照请求概览如下:多帧拍照请求1.1 APP 下发拍照请求到 Camera Framework1.1.1 Trace关键字如下:APP:deliverInputEvent: app 点击事件处理CameraUnitCamera2ImplTake...
2024-08-29 08:15:13 1052
转载 好文推荐|Android显示流程分析(5)
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:8. 应用是如何绘图的目前很多游戏类应用都是借由SurfaceView申请到画布,然后自主上帧,并不依赖Vsync信号, 所以本章通过几个helloworld示例来看下应用侧是如何绘图和上帧的。由于java层很多接口是对C层接口的JNI封装,这里我们只看一些C层接口的用法。下面的示例代码为缩减篇幅把一些异常...
2024-08-27 07:34:06 102
转载 好文推荐|Android显示流程分析(4)
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:7. 画面更新流程在我们前面几个章节的讨论中,我们从最底层的显示硬件,SOC和DDIC的接口, linux和Userspace的图形接口以及APP与SurfaceFlinger,HWC service三者的关系,了解了帧数据流动所经过的关键节点,并重点讨论了帧buffer是如何管理的,以及在流动过程中是如何...
2024-08-26 07:37:26 150
转载 Android显示流程分析(3)
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:5. BufferQueueBufferQueue要解决的是生产者和消费者的同步问题,应用程序生产画面,SurfaceFlinger消费画面;SurfaceFlinger生产画面而HWC Service消费画面。用来存储这些画面的存储区我们称其为帧缓冲区buffer, 下面我们以应用程序作为生产者,Surf...
2024-08-25 08:18:42 253
转载 好文推荐|Android显示流程分析(2)
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:3. DRMDRM,英文全称 Direct Rendering Manager, 即 直接渲染管理器。DRM是linux内核的一个子系统,它提供一组API,用户空间程序可以通过它发送画面数据到GPU或者专用图形处理硬件(如高通的MDP),也可以使用它执行诸如配置分辨率,刷新率之类的设置操作。原本是设计提供给...
2024-08-24 10:27:25 350
原创 好文推荐|Android显示流程分析(1)
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:企业微信截图_16324493913554.png1. 前言本文尝试从硬件认识开始介绍Android的显示系统是如何更新画面的,希望能就android系统是如何更新画面的问题,给读者带来一个感性认知。文中将尝试解释从App画出一帧画面到这帧画面是如何到达屏幕并最终被人眼看到的整个过程,这其中会涉及硬件的一些...
2024-08-22 08:07:39 652
原创 Android 添加系统服务的实现
和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、前言二、编写AIDL文件三、编写Manager类四、 编写系统服务五、 注册系统服务六、注册Manager七、App调用八、添加JNI部分代码九、总结一、前言系统服务是Android中非常重要的一部分, 像ActivityManagerService, Pack...
2024-08-21 07:43:25 1287
原创 ActivityManagerService(AMS) 学习笔记
和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、AMS 是如何启动的?二、通过 Lifecycle 启动初始化 AMS 系统服务三、AMS 构造函数实例实现四、启动AMS.Start()方法实现五、AMS设置系统进程实现六、AMS 安装系统 Provider实现七、AMS.systemReady准备完成八、A...
2024-08-20 07:52:08 839
原创 Permission 调试笔记
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、安全架构设计二、应用签名三、用户ID 和文件访问四、使用权限五、正常权限和危险权限六、自定义权限七、动态申请权限案例Android是一个权限分隔的操作系统,其中每个应用都有其独特的系统标识(Linux用户ID和组ID)。系统各部分也分隔为不同的标识。Linux据此将不同的应用以及应用与系统分隔开...
2024-08-19 07:32:35 299
原创 In-sensor zoom功能调试笔记
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、In-sensor zoom 概述二、如何开启 In-sensor zoom2.1 开启 camxsettings.xml setting2.2 多摄像头,需要添加特殊的逻辑2.3 在 MetaTransitionTable 配置 sensorModeGroupId 的范围2.4 在Sensor.xml...
2024-08-16 08:07:47 1597
原创 Valgrind 内存泄漏检测工具
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:由于C和C++程序中常常需要程序员自主申请和释放内存,在大型的、复杂的应用程序中就会常常出现内存错误。Valgrind是linux环境下的一款功能齐全的内存调试和性能分析工具集,它包括Memcheck、Callgrind、Cachegrind、Helgrind、Massif等工具。本文分为三个部分:valg...
2024-08-15 07:57:36 468
原创 MTK 相机功耗拆解方法
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、硬件功耗二、相机软件功耗三、参考文档一、硬件功耗1.1 硬件信息以下硬件信息最好提前获取到模块备注平台MTK or Qcom or sprdCPU频率大中小核L2 Cache sizeCPU缓存DDRDRAM 类型,品牌屏幕类型,品牌相机Sensor型号,出图size,帧率,几M1.2 硬件功耗拆解硬件...
2024-08-13 07:30:43 917
原创 Handler 消息处理机制总结
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、Handler 简介二、Handler 消息处理机制原理三、Handler 机制处理的4个关键对象四、 Handler常用方法五、子线程更新UI 异常处理六、主线程给子线程发送消息的方法七、主线程发送消息给子线程的例子八、子线程给主线程发送消息的方法九、 主、子 线程 互发消息方法十、子线程方法中调用主...
2024-08-12 07:42:04 745
原创 ANR log dump原理分析
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一 ANR场景无论是四大组件或者进程等只要发生 ANR,最终都会调用 AMS.appNotResponding() 方法,下面从这个方法说起。以下场景都会触发调用 AMS.appNotResponding 方法:Service Timeout:比如前台服务在20s内未执行完成;BroadcastQueue ...
2024-08-09 08:12:18 230
原创 手机电量消耗分析工具 Battery Historian 指南
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中电量的部分知识点,通过阅读本篇文章,您将收获以下内容:一、安装Battery Historian二、收集Batterystats 数据三、使用Battery Historian分析数据四、Batterystats 额外数据五、使用Battery Historian 分析电量消耗六、Batt...
2024-08-07 08:46:17 1469
原创 Camera 开发常用的调试命令
1.camx trace 基本log开关camx trace logadb wait-for-deviceadb rootadb remount::log tag CSL HAL Sensor CHIadb shell setprop persist.vendor.camera.logInfoMask 0x40482adb shell setprop persist.vendor.cam...
2024-08-06 08:19:48 970
原创 手机功耗分析工具 BugReport
和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、BugReport 总体概览二、电池电量变化三、Doze 模式分析四、通过索尼的CkBugreport分析Log一、BugReport 总体概览Bugreport 总体概览信息如下:Bugreport 总体概览信息二、电池电量变化1.电池电量总体变化图电池电量总...
2024-08-05 07:38:21 632
原创 手机耗电原因:多唤醒源
和你一起终身学习,这里是程序员 Android本篇文章主要介绍Android开发中的性能部分知识点,通过阅读本篇文章,您将收获以下内容:过多的唤醒源wakeups如何fix 过多唤醒源问题最佳实践1.过多的唤醒源wakeupsWakeups是 AlarmManager API 中的一种机制 ,它可让开发人员在指定时间设置警报,进而达到唤醒设备的目的。您的应用通过使用 RTC_WAKEUP...
2024-08-02 07:46:38 655
原创 手机死机问题分析与举例
和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、死机系统简图二、死机的可能原因三、死机问题需要分析哪些数据四 、Java Backtrace 分析五、常见 Java backtrace 举例六、Native Backtrace七、Kernel Backtrace八、几种典型的异常情况一、死机系统简图当用户对手...
2024-07-31 07:43:48 478
原创 Google App Crash 规避方案
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、gms.ui Service not registered Crash二、gms.ui BadTokenException Crash三、setupwizard ConcurrentModificationException Crash四、setupwizard ActivityNotFoundExce...
2024-07-30 07:39:43 499
原创 Android Camera 架构好文推荐
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、Android Camera整体架构简述1.1 Android Camera 基本分层1.2 Android Camera工作大体流程二、 Camera App层简述三、Camera Framework层简述3.1 CameraServer初始化3.2 App调用CameraServer的相关操作3.2...
2024-07-29 07:41:07 594
原创 高温手机重启案例分析
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、高温触发 Kernel Exception 重启问题二、解决方案三、提高电池温度方案一、 高温触发 Kernel Exception 重启问题手机 电池温度 默认60度以上高温会触发手机安全机制,让手机管家或者重启。由温度异常导致手机重启的部分Log如下:高温情况下,Kernel Exception...
2024-07-24 08:29:17 484
原创 育儿|支原体肺炎及上海儿童医学中心住院治愈过程
本文主要包含支原体肺炎医学常识及上海儿童医学中心住院治愈过程 。主要目录如下:一、介绍二、发病原因三、症状表现四、如何预防五、检查六、治疗方式七、注意事项八、预后九、上海儿童医学中心住院治疗过程一、介绍支原体肺炎是由肺炎支原体引起的急性肺部感染性疾病,常合并有咽炎和支气管炎。(支原体是一种介于细菌和病毒之间的生物,并且是可在自然界中独立存活的最小微生物。从广义上也是属于细菌的一种。)本病好发于 5...
2024-07-22 07:53:47 1088
原创 Android App 无响应问题分析与解决指南
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、ANR 概述二、ANR的类型三、ANR 产生的原因四、如何分析解决 ANR问题五、ANR 问题分析解决建议六、MTK 平台 ANR问题分析一、 ANR 概述在Android中,应用程序响应由Activity Manager和Window Manager系统服务进行监视。ANR(Application N...
2024-07-19 08:45:24 1932
原创 IO wait 高导致手机重启案例分析
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、拷贝大文件,IO wait 高,导致SWT重启二、高IO wait 导致重启的 解决方案一、拷贝大文件,IO wait 高,导致SWT重启1.通过AEE抓取的log部分Log如下:Aee log2.高 IO 导致CPU 使用率过高部分Log如下:Block IO 很高导致重启二、高IO wa...
2024-07-18 11:18:52 450
原创 Mtk Camera 架构学习
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一. MtkCam3的代码结构及学习资料二. MtkCam3设计架构概览三. MtkCam3代码跟读四. MtkCam3 Debug一.MtkCam3的代码结构及学习资料mtk online里搜Camera 可以搜到很全面的Mtk Hal3的学习文档,Mtk整理的文档很棒,简单到位!https://onli...
2024-07-16 07:38:44 1115
原创 Camera XTS 处理笔记
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:常用测试步骤(下面均以CTS为例)打开终端,进入 cts 包 tools目录下执行 ./cts-tradefed 进入cts测试:~/XTS/CTS/14/R3/android-cts-14_r3-linux/android-cts/tools$ ./cts-tradefed ==============...
2024-07-13 08:08:36 1327
原创 MTK 手机重启案例分析
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、Service not registered 异常导致手机重启二、Service not registered 解决方案一、Service not registered 异常导致手机重启1.重启 的部分Log如下:Service not registered 重启异常二、Service not regi...
2024-07-12 07:40:24 220
原创 app 常见 Crash 案例汇总
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、NullPointerException 空指针二、ClassCastException 类型转换异常三、IndexOutOfBoundsException 下标越界异常四、ActivityNotFoundException Activity未找到异常五、IllegalStateException 非法...
2024-07-11 07:43:05 1019
原创 MTK Camera 冷启动、前后摄切换性能优化分析
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、背景二、问题分解三、工具分析四、 traceView教程五、surface create优化六、systrace的教程七、优化方案八、前后切换速度优化九、优化方案十、热启动优化十一、解决方案:十二、驱动优化一、背景id5a、id6平台我们的相机,对比相同平台红米6a和6的相机,冷热启动,前后摄切换性能要...
2024-07-10 07:45:25 1070 1
原创 app 内存优化参考
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、Heap Snapshot二、Heap Viewer三、MAT四、Allaction Tracking五、TraceView六、LeakCanary七、Lint一、Heap SnapshotHeap Snapshot 是 android Studio 中 Android Monitor中的一个分析Jav...
2024-07-08 07:50:04 798
android手机中MP3播放器的实现
2012-07-20
android版本的天气预报
2012-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人