自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 742

原创 Android Fk: JobService的使用解析

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

2019-03-11 22:50:15 1239

原创 [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 3025

原创 [Android稳定性] Android Fd Leak问题分析方法

Android-Fk[Stability]: Fdleak问题分析

2018-11-06 20:48:03 3916

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

原创 [Media][Image] 一张图理解Android系统图片格式

参考Android Bitmap(位图)详解 Android Bitmap变迁与原理解析(4.x-8.x) raw图像格式对颜色空间YUV、RGB的理解 拜耳阵列(Bayer Pattern)简介

2020-05-08 18:32:33 1640 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 2447

原创 Android Camera简单整理(四)-Android Camera性能Debug经验

针对手机厂商相机性能优化部分经验进行重点总结记录笔记

2020-04-24 20:15:33 10215 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 11626 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 23998 15

原创 Android Camera简单整理(一)-Camera Android架构(基于Q)

一.Android Camera架构简述先盗用谷歌的一张图,该图表示的即是Camera Hal之上的App层,framework层组件结构

2020-04-12 19:39:23 16696 10

原创 [Media][Mp4] Mp4 格式学习整理收集

学习博客:mp4文件格式浅述 :https://blog.csdn.net/qq_35413770/article/details/103989220MP4的几个概念:https://blog.csdn.net/charleslei/article/details/51084046MP4文件格式解析:https://blog.csdn.net/Guofengpu/article/detail...

2020-03-15 16:47:14 645

原创 [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 5658 4

原创 [Java Jvm]Java 类的加载重点记录

一.Java类加载概述类的加载过程是指,虚拟机把描述类的数据从Class文件中加载到内存,并对数据进行校验,转换解析,和初始化的过程,最终形成可以被虚拟机直接使用的java类型。Java中,类的加载,连接和初始化过程都是在程序运行期间完成的,这种策略会令类加载时耗时增加性能开销,但提供了更高的灵活性,可以动态扩展,可以在运行时再指定下载的类文件达到动态扩展程序的作用二.Java类的生命周期...

2020-01-10 14:25:52 264

原创 [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 1255

原创 [Android稳定性] NativeCrash分析(一)-NativeCrash原理

一.基础知识-编译,链接,装载二.NativeCrash原理三.相关工具使用

2019-12-31 16:53:57 2083

原创 【Linux】编译,链接,装载简单梳理

简单梳理为了更快的记忆理解及传达一.编译一句话概括:二.链接静态链接动态链接三.装载装载过程

2019-12-31 11:48:32 499

原创 [方法][工具] Itellij查看Android源码

首先强调两个目录,一个code目录,一个workspace目录,workspace目录中的项目workspace会软链接到code目录中的项目code目录两种方式,其中第二种手动方式已可以通过第一种运行脚本方式操作完成一.脚本操作如下:1.1脚本获取链接: https://pan.baidu.com/s/1DOqq28GtOvFD3mMffKFLpA 提取码: 77rc1.2 使用如下:...

2019-07-28 16:27:32 528

原创 [总结][进程] Proc & Thread status in Linux & Jvm

Linux 进程线程及 Jvm进程线程状态对比一.进程的基本状态:三种基本状态:进程基本状态说明就绪(Ready)状态当进程已分配到除CPU以外的所有必要资源后,只要在获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将他们排成一个队列,称为就绪队列。执行状态进程已获得CPU,其程序正在执行。在单处理机系统中,...

2019-05-20 21:58:03 540

原创 [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 1166

原创 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 1051 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 1859

原创 Android[art]-Android dex,odex,oat,vdex,art文件结构学习总结

参考学习博客:Android Dex文件格式(一):https://blog.csdn.net/p312011150/article/details/80501690dex文件解析(第三篇) :https://blog.csdn.net/tabactivity/article/details/78950379Android安全–Dex文件格式详解:https://www.cnblogs.co...

2019-05-05 21:10:20 7824

原创 简单梳理Java Class文件结构(基于JDK1.8)

高效学习博客:Class类文件结构: https://www.cnblogs.com/wade-luffy/p/5929325.htmlJava Class文件结构解析 及 实例分析验证 : https://blog.csdn.net/tjiyu/article/details/53870153Class文件中的常量池详解(上): https://blog.csdn.net/wangtao...

2019-04-27 13:59:56 669

原创 [Java多线程]-《实战Java高并发程序设计》多线程并发处理笔记

1.线程的状态:状态名称说明NEW初始状态,线程被构建,但是还没有调用start()方法RUNNABLE运行状态,Java线程将操作系统中的就绪和运行两种状态笼统地称作“运行中”BLOCKED阻塞状态,表示线程阻塞于锁WAITING等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做出一些特定动作(通知或中断)TIME_WA...

2019-03-29 22:15:59 767

原创 [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 927

原创 [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 240

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

原创 [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 476

原创 [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 1730

原创 [Android Fk] Android input事件的传递及分发简单梳理(基于P)

#Android-Fk:Android input事件产生及分发(一)一. InputManagerService概述二. Input事件的传递三. 总结

2019-01-04 21:17:00 523

原创 简单梳理Android Surface原理(基于O)

一. Surface概述二.BufferQueue概述三.Activity界面显示过程四.相机概述五.重要的surface相关类

2018-12-23 17:10:28 1690 2

原创 简单梳理Android常用基本容器类原理

Android-Java:常用基本容器学习总结一.常用容器的总体框架二.常用容器类的重点ArrayListVectorStackHashMapTreeMapHashTableHashSetTreeSetConcurrentHashMapSparseArrayArrayMap...

2018-12-22 17:10:28 864

原创 简单梳理Android BufferQueue原理(基于P)

一. BufferQueue概述BufferQueue可以理解为一个生产者-消费者”模型,对GraphicBuffer管理的一种机制。需注意的是,可以将BufferQueue当作是一个算法结构,并不是只有Surfaceflinger会使用到,其他进程只要有GraphicBuffer的消费地方都会使用到。二. BufferQueue结构一般是在消费者进程调用BufferQueue的crea...

2018-12-16 22:29:56 2179

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

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

原创 Android-[开源框架]-leakcanary代码流程梳理

1. leakcanary使用方法及学习关于leakcanary的详细分析已经有很多大牛分析过了,主要看了以下几篇,通俗易懂,用来学习很好https://www.jianshu.com/p/1e7e9b576391https://www.liaohuqiu.net/cn/posts/leak-canary/https://blog.csdn.net/cloud_huan/article/d...

2018-11-08 12:26:38 442

原创 [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 1174 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 2266

原创 [Android稳定性] Android System Watchdog原理简单梳理(基于O)

Android Fk:[Stability] Android Watchdog原理简析

2018-08-07 12:08:26 512

elf_learning_files.zip

包含elf specific 中英文版及 Learning Linux Binary Analysis 英文版,尤其Learning Linux Binary Analysis 英文版非常值得学习

2019-05-15

Effective C++ 中文版第三版 高清PDF.pdf

Effective C++ 中文版第三版 高清PDF,很清晰,可以用来C++进阶

2019-03-27

编译实验词法语法分析

编译原理实验,包含词法分析,语法分析LL,LR,仅供参考学习,

2013-06-01

空空如也

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

TA关注的人

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