- 博客(62)
- 资源 (4)
- 收藏
- 关注

原创 Android Fk: Activty管理之token总结 基于Android 9.0
Android Fk: Activty管理之token总结本文的plantuml 源码及draw.io原图在如下链接中,可自行下载修改一.概述Token创建:第一次启动指定Activity时,AMS会去创建ActivityRecord记录该Activity信息,ActivityRecord构造函数里创建一个Token类型对象保存在ActivityRecord.appToken中;传递至...
2019-03-20 00:05:59
804

原创 Android Fk: JobService的使用解析
某个时间点或者满足某个特定的条件时去执行某个任务时可以使用JobService来实现,一从API19起,使用AlarmManager,setRepeating定时请求并不能保证时效的准确,在5.0以后,Google推出了一个JobService,用来执行一些并非即时执行的后台进程。一、使用方法:1.新建自己的JobServicepublic class DemoJobSer...
2019-03-11 22:50:15
1449

原创 [Android稳定性] Android OOM问题分析方法
OOM Hprof Catch一. am dumpheap方法Java进程需要抓取hprof文件的时候可以使用如下命令抓取:adb shell am dumheap [pid] savePath1.1 看下流程:1.Am.java接收到相应的指令后进行分发,会执行相应的方法 runDumpHeap ,然后通过相应的aidl把任务传递到AMS:frameworks/base/serv...
2019-02-19 20:03:23
3753

原创 protected-broadcast 规范使用系统应用组件自定义广播
保护广播一、android:sharedUserId=”android.uid.system”系统中所有使用android.uid.system作为共享UID的APK,都会首先在manifest节点中增加 android:sharedUserId=”android.uid.system”,然后在Android.mk中增加 LOCAL_CERTIFICATE := platform.如Setting
2017-04-16 11:04:37
23667
原创 [Media][Image] 一张图理解Android系统图片格式
参考Android Bitmap(位图)详解 Android Bitmap变迁与原理解析(4.x-8.x) raw图像格式对颜色空间YUV、RGB的理解 拜耳阵列(Bayer Pattern)简介
2020-05-08 18:32:33
1859
1
原创 Android Stuido 导入OpenCV 使用的三种方式实现并比较(填坑版)
@TOC一. 资料准备Android Studio 3.6OpenCv Sdk下载:https://opencv.org/releases/#选 OpenCV – 4.3.0 android下载,比较慢,可以考虑使用迅雷下载下载解压后有samples和sdk两个目录,主要关注sdk目录:二.As使用opencv sdk的三种方式2.1 在Java层使用 OpenCv Java A...
2020-04-28 19:01:33
3345
原创 Android Camera简单整理(四)-Android Camera性能Debug经验
针对手机厂商相机性能优化部分经验进行重点总结记录笔记
2020-04-24 20:15:33
12034
6
原创 Android Camera简单整理(三)-Mtk Camera MtkCam3架构学习
记录下 Mtk的Hal3架构笔记,正在进行学习,后续仍会更新一.MtkCam3的代码结构及学习资料mtk online里搜Camera 可以搜到很全面的Mtk Hal3的学习文档,Mtk整理的文档很棒,简单到位!https://online.mediatek.com/QuickStart/2a17666a-9d46-4686-9222-610ec0f087cc下述的代码结构只是列出了mtk...
2020-04-23 19:15:39
13617
5
原创 Android Camera简单整理(二)-Qcom HAL3 Camx架构学习
Android Camera简单整理(二)-Qcom HAL3 Camx架构一. Android Hal3回顾Camera HAL3学习HAL层操作简单总结:1.Framework层发送捕获数据的异步请求。2.HAL层设备必须按照次序处理请求。对于每个请求,HAL层需要输出元数据和一个或者多个图像数据。3.对于请求和结果都需要遵循先进先出的原则;这个数据流将被后续的请求所参考。4...
2020-04-21 15:20:34
26206
18
原创 Android Camera简单整理(一)-Camera Android架构(基于Q)
一.Android Camera架构简述先盗用谷歌的一张图,该图表示的即是Camera Hal之上的App层,framework层组件结构
2020-04-12 19:39:23
18950
10
原创 [Media][Mp4] Mp4 格式学习整理收集
学习博客:mp4文件格式浅述 :https://blog.youkuaiyun.com/qq_35413770/article/details/103989220MP4的几个概念:https://blog.youkuaiyun.com/charleslei/article/details/51084046MP4文件格式解析:https://blog.youkuaiyun.com/Guofengpu/article/detail...
2020-03-15 16:47:14
758
原创 [Android][MediaRecorder] Android MediaRecorder框架简洁梳理
(Base on Android Q)主要是为了梳理MediaRecorder模块代码,熟悉流程本文的简化图由draw.io绘制,详细时序图由plantUml绘制绘制原材料在百度云盘中 链接: https://pan.baidu.com/s/1IJ7Qo2Jl3o6GthPtAiD95Q 提取码: qu4w,可以自行down下来修改添加一.MediaRecorder整体架构主要简单梳理...
2020-03-15 16:15:22
6633
5
原创 [Java Jvm]Java 类的加载重点记录
一.Java类加载概述类的加载过程是指,虚拟机把描述类的数据从Class文件中加载到内存,并对数据进行校验,转换解析,和初始化的过程,最终形成可以被虚拟机直接使用的java类型。Java中,类的加载,连接和初始化过程都是在程序运行期间完成的,这种策略会令类加载时耗时增加性能开销,但提供了更高的灵活性,可以动态扩展,可以在运行时再指定下载的类文件达到动态扩展程序的作用二.Java类的生命周期...
2020-01-10 14:25:52
320
原创 [Android稳定性] NativeCrash分析(二)-Debug材料及工具
一.分析材料1.1 tombstone文件位置:data/tombstones/中,最多存10个,超过会从最旧的复写掉.chengang@mi:~/Documents/gdb_file$ adb shellphoenix:/ # cd data/tombstones/ ...
2019-12-31 16:59:49
1392
原创 [Android稳定性] NativeCrash分析(一)-NativeCrash原理
一.基础知识-编译,链接,装载二.NativeCrash原理三.相关工具使用
2019-12-31 16:53:57
2421
原创 [方法][工具] Itellij查看Android源码
首先强调两个目录,一个code目录,一个workspace目录,workspace目录中的项目workspace会软链接到code目录中的项目code目录两种方式,其中第二种手动方式已可以通过第一种运行脚本方式操作完成一.脚本操作如下:1.1脚本获取链接: https://pan.baidu.com/s/1DOqq28GtOvFD3mMffKFLpA 提取码: 77rc1.2 使用如下:...
2019-07-28 16:27:32
610
原创 [总结][进程] Proc & Thread status in Linux & Jvm
Linux 进程线程及 Jvm进程线程状态对比一.进程的基本状态:三种基本状态:进程基本状态说明就绪(Ready)状态当进程已分配到除CPU以外的所有必要资源后,只要在获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列。执行状态进程已获得CPU,其程序正在执行。在单处理机系统中,...
2019-05-20 21:58:03
637
原创 [Linux-Android][Log] Top命令打印含义
Top命令打印含义第一行,进程总信息:Tasks: 任务(进程)数, 其中处于运行中的有 1个,425个在休眠(sleep), 0个stoped状态,1个zombie状态进程.第二行,内存总信息:mem:509248k total — 物理内存总量(509M)495964k used — 使用中的内存总量(495M)13284k free — 空闲内存总量(13M)25364k ...
2019-05-20 21:47:00
1385
原创 Linux[链接]: 静态链接,动态链接及linux进程内存布局
Linux[链接]: 静态链接,动态链接及linux内存布局一. 目标文件1.1 目标文件概述现在PC平台流行的可执行文件格式,主要是Windows下的PE(Portable Executable)和Linux的ELF(Executable Linkable Format),它们都是COFF(Common file format)格式的变种。目标文件就是源代码编译后但未进行链接的那些中间文...
2019-05-20 16:35:01
1218
1
原创 Linux[ELF]: ELF文件结构简单梳理
Linux[ELF]: ELF文件结构简单梳理一.编译过程-ELF文件生成二.ELF的文件概述2.1 4种ELF文件类型ELF文件类型说明实例Relocatable File包含例代码和数据,可以被链接成可执行文件或共享目标文件Linux下的.o文件Executable File包含可以直接执行的程序,ELF可执行文件,一般没有扩展名/bin/bas...
2019-05-15 23:20:52
2051
原创 Android[art]-Android dex,odex,oat,vdex,art文件结构学习总结
参考学习博客:Android Dex文件格式(一):https://blog.youkuaiyun.com/p312011150/article/details/80501690dex文件解析(第三篇) :https://blog.youkuaiyun.com/tabactivity/article/details/78950379Android安全–Dex文件格式详解:https://www.cnblogs.co...
2019-05-05 21:10:20
8765
原创 简单梳理Java Class文件结构(基于JDK1.8)
高效学习博客:Class类文件结构: https://www.cnblogs.com/wade-luffy/p/5929325.htmlJava Class文件结构解析 及 实例分析验证 : https://blog.youkuaiyun.com/tjiyu/article/details/53870153Class文件中的常量池详解(上): https://blog.youkuaiyun.com/wangtao...
2019-04-27 13:59:56
789
原创 [Java多线程]-《实战Java高并发程序设计》多线程并发处理笔记
1.线程的状态:状态名称说明NEW初始状态,线程被构建,但是还没有调用start()方法RUNNABLE运行状态,Java线程将操作系统中的就绪和运行两种状态笼统地称作“运行中”BLOCKED阻塞状态,表示线程阻塞于锁WAITING等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做出一些特定动作(通知或中断)TIME_WA...
2019-03-29 22:15:59
831
原创 [Android Fk] AMS对Activity管理的简单梳理(基于P)
学习博客:ActivityRecord、TaskRecord、ActivityStack以及Activity启动模式详解:https://www.jianshu.com/p/94816e52cd77一.主要结构:AMS初始化构造函数时会创建一个ActivityStackSupervisor对象。一个ActivityRecord对应一个Activity,保存了一个Activity的所有信...
2019-03-12 21:06:31
1004
原创 [Java Jvm]-Java运行时内存区域学习总结
Java[虚拟机]-Java内存区域学习总结学习博客:java虚拟机内存区域的划分以及作用详解:https://www.cnblogs.com/whgk/p/6138522.htmlJVM的内存区域划分 : https://www.cnblogs.com/dolphin0520/p/3613043.html一.Java虚拟机允许主要流程:Java源代码文件(.java后缀)会被Java编...
2019-03-11 21:24:46
293
原创 Android-Tool[shell]: 复现指定crashlog抓取日志文件脚本
有时候log容易被冲掉,比如camera的camxlog,极容易被冲掉,迟个几十秒抓bugreport就有可能抓不到需要的logcat了需要一直抓取logcat,复现了问题就把logcat的保存起来,所以需求如下:1.需要不断的抓取logcat2.复现指定问题保存日志文件简单试下如下,匹配规则还可以再完善下,日后再更新adb push ./as_logcat_offline.sh s...
2019-03-09 22:08:13
733
原创 [Android Fk] Activity启动简单梳理(基于P)
简单用图表示下Activity的启动过程详细的代码就不贴了,几个比较好的博客都介绍的很详细,这里做一个简洁的归纳整理,便于日后回顾。一. 点击桌面图标启动Activity流程1.1 简化流程1.2 详细过程二. context startActivity流程1.1 简化过程三. am start Activity流程1.1 简化过程1.2 详细过程...
2019-03-09 21:56:07
569
原创 [Python] Native Crash Addr2line 自动解析Tombstone文件脚本
[Python] Native Crash Addr2line 自动解析Tombstone文件脚本使用方法1.解析单个tombstone文件:python ./as_tomba.py tombstone_file_path symbol_root_path在tombstone_file_path目录下生成 tombstone文件名_pid_pname.out 的解析之后文件2.批量解析...
2019-01-17 13:45:34
2002
原创 [Android Fk] Android input事件的传递及分发简单梳理(基于P)
#Android-Fk:Android input事件产生及分发(一)一. InputManagerService概述二. Input事件的传递三. 总结
2019-01-04 21:17:00
584
原创 简单梳理Android Surface原理(基于O)
一. Surface概述二.BufferQueue概述三.Activity界面显示过程四.相机概述五.重要的surface相关类
2018-12-23 17:10:28
1974
2
原创 简单梳理Android常用基本容器类原理
Android-Java:常用基本容器学习总结一.常用容器的总体框架二.常用容器类的重点ArrayListVectorStackHashMapTreeMapHashTableHashSetTreeSetConcurrentHashMapSparseArrayArrayMap...
2018-12-22 17:10:28
1016
原创 简单梳理Android BufferQueue原理(基于P)
一. BufferQueue概述BufferQueue可以理解为一个生产者-消费者”模型,对GraphicBuffer管理的一种机制。需注意的是,可以将BufferQueue当作是一个算法结构,并不是只有Surfaceflinger会使用到,其他进程只要有GraphicBuffer的消费地方都会使用到。二. BufferQueue结构一般是在消费者进程调用BufferQueue的crea...
2018-12-16 22:29:56
2542
原创 Android的log使用技巧(Java层,Native层)
Android的log使用技巧android Log.isLoggableDebugUtils.javapackage com.XXX.XXX;import android.content.Context;import android.util.Log;import android.widget.Toast;public class DebugUtils {
2018-12-16 20:31:48
1308
原创 Android-Fk:[开源框架] 安卓崩溃信息收集框架ACRA原理流程
Android-Fk:[开源框架] 安卓崩溃信息收集框架ACRA原理流程本文主要梳理ACRA原理及代码流程顺序图的uml文件简化图的draw.io源文件分享至百度网盘一. 学习博客使用方法参考https://github.com/ACRA/acra/wiki/BasicSetup大体上就是导库,初始化,新建继承ReprotSender的子类XXXReprotSender,当发生异常...
2018-11-08 22:29:45
882
原创 Android-[开源框架]-leakcanary代码流程梳理
1. leakcanary使用方法及学习关于leakcanary的详细分析已经有很多大牛分析过了,主要看了以下几篇,通俗易懂,用来学习很好https://www.jianshu.com/p/1e7e9b576391https://www.liaohuqiu.net/cn/posts/leak-canary/https://blog.youkuaiyun.com/cloud_huan/article/d...
2018-11-08 12:26:38
497
原创 [Android Fk] PowerManagerService简单整理 Based on Android O
主要内容:1.PowerManagerService的架构2.Wakelock的知识3.电源管理相关的知识4.相关debug5. 具体场景释疑1. PowerManagerService的架构1.1 PowerManagerService家族整体架构1.2 PowerManagerService的binder架构1.3 PowerManagerService开机初始化1....
2018-11-07 15:33:52
1259
1
原创 Android Fk:【JavaCrash】Android 26以后限制使用startService启动后台服务
[JavaCrash][Fk]Android 26以上限制使用startService启动后台服务一. 问题概述1.出错调用栈07-23 19:06:29.734 15328 15377 E AndroidRuntime: FATAL EXCEPTION: Thread-907-23 19:06:29.734 15328 15377 E AndroidRuntime: P...
2018-09-06 19:28:23
2434
原创 [Android稳定性] Android System Watchdog原理简单梳理(基于O)
Android Fk:[Stability] Android Watchdog原理简析
2018-08-07 12:08:26
587
elf_learning_files.zip
2019-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人