自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序员Android

这是一个专注提供 Java Android 知识体系服务的公众号。 和你一起终身学习,小安愿做你成长道路上的垫脚石,不断垫高你的高度,衬托你的威仪。风里雨里,我们一直在学习的路上支持你!

  • 博客(855)
  • 资源 (37)
  • 收藏
  • 关注

原创 Android 开发技术干货

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、Android 开发知识点二、Android 稳定性知识点三、Android 面试知识点四...

2020-12-09 08:00:00 1755 3

原创 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 695

原创 camera死锁问题的分析与解决

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点: 最近处理一个bug,手机自带相机app和三方app全部无法打开相机。哪怕app退出再次进入也无法打开相机,只能重启手机了。打开log,发现如下出错信息:04-14 14:53:55.629 1427 3487 E CameraService: C...

2024-09-18 08:26:44 621

原创 Android malloc debug介绍

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一 简述android 的libc中有malloc_debug的hook调用,我们可以使用malloc_debug中的hook函数对内存分配进行跟踪加测。malloc_debug主要包含的功能如下:内存分配和释放跟踪,支持的函数如下:malloc free calloc reallo...

2024-09-13 08:44:31 574

转载 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 459

转载 Android 显示 BufferQueue汇总

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:BufferQueue 类是 Android 中所有图形处理操作的核心。它的作用很简单:将生成图形数据缓冲区的一方(生产方)连接到接受数据以进行显示或进一步处理的一方(消耗方)。几乎所有在系统中移动图形数据缓冲区的内容都依赖于 BufferQueue。现在,我们添加一个空的drawNativeWindow实...

2024-09-06 08:26:10 340

转载 Android HWUI 绘制流程

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:Android中,绘图的API很多,比如2D的绘图skia;3D的绘图OpenGLES,Vulkan等。Android 开始,的View系统中,多数都是采用2D的模式的View Widget,比如绘制一张Bitmap图片,显示一个按钮等。随着Android系统的更新,和用户对视觉效果的追求,以前的这套2D ...

2024-09-05 08:22:02 1051

转载 Android 显示 Fence 机制

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:Fence是一种同步机制,在Android里主要用于图形系统中GraphicBuffer的同步。那它和已有同步机制相比有什么特点呢?它主要被用来处理跨硬件的情况。尤其是CPU。GPU和HWC之间的同步,另外它还能够用于多个时间点之间的同步。GPU编程和纯CPU编程一个非常大的不同是它是异步的。也就是说当我们...

2024-09-04 07:54:23 190

原创 MTK 多帧拍照流程分析

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、多帧拍照请求概览二、多帧拍照回帧概览一、多帧拍照请求概览多帧拍照请求概览如下:多帧拍照请求1.1 APP 下发拍照请求到 Camera Framework1.1.1 Trace关键字如下:APP:deliverInputEvent: app 点击事件处理CameraUnitCamera2ImplTake...

2024-08-29 08:15:13 852

转载 好文推荐|Android显示流程分析(5)

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:8. 应用是如何绘图的目前很多游戏类应用都是借由SurfaceView申请到画布,然后自主上帧,并不依赖Vsync信号, 所以本章通过几个helloworld示例来看下应用侧是如何绘图和上帧的。由于java层很多接口是对C层接口的JNI封装,这里我们只看一些C层接口的用法。下面的示例代码为缩减篇幅把一些异常...

2024-08-27 07:34:06 47

转载 好文推荐|Android显示流程分析(4)

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:7. 画面更新流程在我们前面几个章节的讨论中,我们从最底层的显示硬件,SOC和DDIC的接口, linux和Userspace的图形接口以及APP与SurfaceFlinger,HWC service三者的关系,了解了帧数据流动所经过的关键节点,并重点讨论了帧buffer是如何管理的,以及在流动过程中是如何...

2024-08-26 07:37:26 53

转载 Android显示流程分析(3)

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:5. BufferQueueBufferQueue要解决的是生产者和消费者的同步问题,应用程序生产画面,SurfaceFlinger消费画面;SurfaceFlinger生产画面而HWC Service消费画面。用来存储这些画面的存储区我们称其为帧缓冲区buffer, 下面我们以应用程序作为生产者,Surf...

2024-08-25 08:18:42 51

转载 好文推荐|Android显示流程分析(2)

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:3. DRMDRM,英文全称 Direct Rendering Manager, 即 直接渲染管理器。DRM是linux内核的一个子系统,它提供一组API,用户空间程序可以通过它发送画面数据到GPU或者专用图形处理硬件(如高通的MDP),也可以使用它执行诸如配置分辨率,刷新率之类的设置操作。原本是设计提供给...

2024-08-24 10:27:25 74

原创 好文推荐|Android显示流程分析(1)

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:企业微信截图_16324493913554.png1. 前言本文尝试从硬件认识开始介绍Android的显示系统是如何更新画面的,希望能就android系统是如何更新画面的问题,给读者带来一个感性认知。文中将尝试解释从App画出一帧画面到这帧画面是如何到达屏幕并最终被人眼看到的整个过程,这其中会涉及硬件的一些...

2024-08-22 08:07:39 551

原创 Android 添加系统服务的实现

和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、前言二、编写AIDL文件三、编写Manager类四、 编写系统服务五、 注册系统服务六、注册Manager七、App调用八、添加JNI部分代码九、总结一、前言系统服务是Android中非常重要的一部分, 像ActivityManagerService, Pack...

2024-08-21 07:43:25 1139

原创 ActivityManagerService(AMS) 学习笔记

和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、AMS 是如何启动的?二、通过 Lifecycle 启动初始化 AMS 系统服务三、AMS 构造函数实例实现四、启动AMS.Start()方法实现五、AMS设置系统进程实现六、AMS 安装系统 Provider实现七、AMS.systemReady准备完成八、A...

2024-08-20 07:52:08 770

原创 Permission 调试笔记

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、安全架构设计二、应用签名三、用户ID 和文件访问四、使用权限五、正常权限和危险权限六、自定义权限七、动态申请权限案例Android是一个权限分隔的操作系统,其中每个应用都有其独特的系统标识(Linux用户ID和组ID)。系统各部分也分隔为不同的标识。Linux据此将不同的应用以及应用与系统分隔开...

2024-08-19 07:32:35 269

原创 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 1059

原创 Valgrind 内存泄漏检测工具

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:由于C和C++程序中常常需要程序员自主申请和释放内存,在大型的、复杂的应用程序中就会常常出现内存错误。Valgrind是linux环境下的一款功能齐全的内存调试和性能分析工具集,它包括Memcheck、Callgrind、Cachegrind、Helgrind、Massif等工具。本文分为三个部分:valg...

2024-08-15 07:57:36 424

原创 MTK 相机功耗拆解方法

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、硬件功耗二、相机软件功耗三、参考文档一、硬件功耗1.1 硬件信息以下硬件信息最好提前获取到模块备注平台MTK or Qcom or sprdCPU频率大中小核L2 Cache sizeCPU缓存DDRDRAM 类型,品牌屏幕类型,品牌相机Sensor型号,出图size,帧率,几M1.2 硬件功耗拆解硬件...

2024-08-13 07:30:43 748

原创 Handler 消息处理机制总结

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、Handler 简介二、Handler 消息处理机制原理三、Handler 机制处理的4个关键对象四、 Handler常用方法五、子线程更新UI 异常处理六、主线程给子线程发送消息的方法七、主线程发送消息给子线程的例子八、子线程给主线程发送消息的方法九、 主、子 线程 互发消息方法十、子线程方法中调用主...

2024-08-12 07:42:04 686

原创 ANR log dump原理分析

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一 ANR场景无论是四大组件或者进程等只要发生 ANR,最终都会调用 AMS.appNotResponding() 方法,下面从这个方法说起。以下场景都会触发调用 AMS.appNotResponding 方法:Service Timeout:比如前台服务在20s内未执行完成;BroadcastQueue ...

2024-08-09 08:12:18 189

原创 手机电量消耗分析工具 Battery Historian 指南

阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中电量的部分知识点,通过阅读本篇文章,您将收获以下内容:一、安装Battery Historian二、收集Batterystats 数据三、使用Battery Historian分析数据四、Batterystats 额外数据五、使用Battery Historian 分析电量消耗六、Batt...

2024-08-07 08:46:17 1265

原创 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 862

原创 手机功耗分析工具 BugReport

和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、BugReport 总体概览二、电池电量变化三、Doze 模式分析四、通过索尼的CkBugreport分析Log一、BugReport 总体概览Bugreport 总体概览信息如下:Bugreport 总体概览信息二、电池电量变化1.电池电量总体变化图电池电量总...

2024-08-05 07:38:21 455

原创 手机耗电原因:多唤醒源

和你一起终身学习,这里是程序员 Android本篇文章主要介绍Android开发中的性能部分知识点,通过阅读本篇文章,您将收获以下内容:过多的唤醒源wakeups如何fix 过多唤醒源问题最佳实践1.过多的唤醒源wakeupsWakeups是 AlarmManager API 中的一种机制 ,它可让开发人员在指定时间设置警报,进而达到唤醒设备的目的。您的应用通过使用 RTC_WAKEUP...

2024-08-02 07:46:38 607

原创 手机死机问题分析与举例

和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、死机系统简图二、死机的可能原因三、死机问题需要分析哪些数据四 、Java Backtrace 分析五、常见 Java backtrace 举例六、Native Backtrace七、Kernel Backtrace八、几种典型的异常情况一、死机系统简图当用户对手...

2024-07-31 07:43:48 406

原创 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 437

原创 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 483

原创 高温手机重启案例分析

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、高温触发 Kernel Exception 重启问题二、解决方案三、提高电池温度方案一、 高温触发 Kernel Exception 重启问题手机 电池温度 默认60度以上高温会触发手机安全机制,让手机管家或者重启。由温度异常导致手机重启的部分Log如下:高温情况下,Kernel Exception...

2024-07-24 08:29:17 374

原创 育儿|支原体肺炎及上海儿童医学中心住院治愈过程

本文主要包含支原体肺炎医学常识及上海儿童医学中心住院治愈过程 。主要目录如下:一、介绍二、发病原因三、症状表现四、如何预防五、检查六、治疗方式七、注意事项八、预后九、上海儿童医学中心住院治疗过程一、介绍支原体肺炎是由肺炎支原体引起的急性肺部感染性疾病,常合并有咽炎和支气管炎。(支原体是一种介于细菌和病毒之间的生物,并且是可在自然界中独立存活的最小微生物。从广义上也是属于细菌的一种。)本病好发于 5...

2024-07-22 07:53:47 1050

原创 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 1549

原创 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 384

原创 Mtk Camera 架构学习

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一. MtkCam3的代码结构及学习资料二. MtkCam3设计架构概览三. MtkCam3代码跟读四. MtkCam3 Debug一.MtkCam3的代码结构及学习资料mtk online里搜Camera 可以搜到很全面的Mtk Hal3的学习文档,Mtk整理的文档很棒,简单到位!https://onli...

2024-07-16 07:38:44 894

原创 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 1017

原创 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 189

原创 app 常见 Crash 案例汇总

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、NullPointerException 空指针二、ClassCastException 类型转换异常三、IndexOutOfBoundsException 下标越界异常四、ActivityNotFoundException Activity未找到异常五、IllegalStateException 非法...

2024-07-11 07:43:05 959

原创 MTK Camera 冷启动、前后摄切换性能优化分析

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、背景二、问题分解三、工具分析四、 traceView教程五、surface create优化六、systrace的教程七、优化方案八、前后切换速度优化九、优化方案十、热启动优化十一、解决方案:十二、驱动优化一、背景id5a、id6平台我们的相机,对比相同平台红米6a和6的相机,冷热启动,前后摄切换性能要...

2024-07-10 07:45:25 868 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 784

原创 高通 offline log 、raw图 、yuv 图 dump方法

和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一. Offline log开关1.1 设置log开关// Camx logadb shell "echo overrideLogLevels=0xFF > /vendor/etc/camera/camxoverridesettings.txt"adb shell "echo logVer...

2024-07-03 09:11:48 570

dom4j-1.6.1.jar

dom4j-1.6.1.jar 用于解析XML文档的jar

2013-04-05

xml 的应用方法

xml 的应用方法 包含学生成绩管理系统的增删改查功能的实现

2013-04-04

java 基础知识强化

java 基础知识强化 一些代码

2013-04-04

linux 文件I/O编程

这里包含文件操作的一些用法,比如open read write lseek close 还有对文件添加读取锁和写入锁的一些内容

2013-03-09

android 简单通讯录

android 通讯录源码,实现一些常用的功能

2012-12-04

模仿QQ的左右滑动切换界面和下拉更新的效果

模仿QQ的左右滑动切换界面和下拉更新的效果,简单的实现一些功能

2012-08-02

android-support-v4.jar

android-support-v4.jar 是实现viewpaper 的第三方jar包

2012-07-31

android手机中MP3播放器的实现

这是关于android的MP3音乐播放器,其功能主要有,首先由欢迎界面---网络歌曲下载界面---本地SD卡中歌曲列表---点击本地MP3列表可以进行MP3播放,并同时同步歌词的功能

2012-07-20

apache-tomcat-6.0.18.exe

apache-tomcat-6.0.18.exe apache服务器的可执行的安装程序

2012-07-15

mars android视频全集教程源码

mars android视频第一季全集教程源码,估计是很少有的全集android的源码压缩包,包含1到33集的源码

2012-07-13

高德地图Overlay的应用以及照相功能的实现

本代码实现了高德地图的覆盖方法,和照相机照相的功能实现,实现了从MapActivity和Activity之间的跳转功能

2012-07-12

sax2r2.jar

android google weather API的sax2r2.jar的第三方jar包,用于SAX解析google天气预报!

2012-07-09

android版本的天气预报

本程序实现了android手机上的天气预报的功能,可以根据输入的城市名称,调用google weather API 接口实现想要找的城市未来四天内的天气预报功能!

2012-07-09

简单的图片浏览器

android版本的 简单的图片浏览器 ,可以根据手势的滑动,来实现图片的切换功能

2012-06-28

ARM 学习的总结

总结一下学习ARM嵌入式的一些东西,其中包括SDL的运行,Mp3移植,静态库,动态库的编译等。

2012-06-26

SAX解析XML文档

利用SAX解析XML文档,实现对南工自习室的解析,解决自习室难找的问题

2012-06-15

农夫过河的问题

采用深度优先遍历图的方法,解决农夫过河的问题,有代码,有可执行文件和流程图

2012-06-15

基于SDL图片的移动和风车的转动

基于SDL的嵌入式系统课程设计,调用SDL库函数实现在嵌入式开发板上的一些课创意

2012-06-15

SAX解析XML文档的初级源码

android初学关于SAX解析XML的一个范例

2012-05-20

mysql-connector-java-5.1.26-bin

mysql-connector-java-5.1.26-bin.jar Mysql数据库驱动

2013-11-09

androidSlindingMenu

androidSlindingMenu 最火的android开源项目,好多流行的应用中都有他的影子,侧滑拖动界面..

2013-06-04

ViewPaperTest

ViewPaperTest简单的实现滑动效果

2013-05-15

WebJSONDemo

使用JSON的方法从服务器上获取资源的服务端

2013-05-08

GetJSONDemo

GetJSONDemo 使用JSON方式获取服务器上的数据

2013-05-08

GetXMLDemo

从服务器上获取XML文件的客户端的实现, GetXMLDemo

2013-05-08

WebForPOSTMethod

POST向服务器上传数据,POST上传的数据适用于数据量大,数据类型复杂,数据安全性能要求高的地方

2013-05-08

POSTDateToWeb

POST向服务器上传数据,POST上传的数据适用于数据量大,数据类型复杂,数据安全性能要求高的地方

2013-05-08

WebForGETMethod

使用Get方法上传数据到服务器上,GET上传的数据一般是很小的并且安全性能不高的数据,

2013-05-08

GetDataToWeb.zip

使用Get方法上传数据到服务器上,GET上传的数据一般是很小的并且安全性能不高的数据,

2013-05-08

WebXMLDemo

WebXMLDemo 服务器端,用法发布XML数据

2013-05-01

获取网络上的XML客户端

GetXMLDemo.zip 获取网络上的XML资源,实现客户端解析文件

2013-05-01

ViewPaperDemo1

ViewPaperDemo 实现的简单的滑屏切换的功能

2013-04-29

SaxXmlDemo

SaxXmlDemo xml解析 android中常用的Sax解析XML文档的方法

2013-04-23

tomcat服务器

tomcat6.0 在eclipse中搭建Tomcat服务器,开发Web用的

2013-04-21

GridViewDemo

GridViewDemo android 中的网格布局的例子

2013-04-17

SliderDrawer抽屉组件

SliderDrawer抽屉组件 简单的Demo

2013-04-17

jaxen-1.1.1.zip

jaxen-1.1.1.zip 用于java实现提取XML文件中的内容

2013-04-05

空空如也

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

TA关注的人

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