Cyrus Land
  • 首页
  • 归档
  • 标签
  • 关于

Matrix - ANR 原理解析

上两篇文章 崩溃日志收集库 xCrash 浅析 和 xCrash ANR 兼容性测试 介绍了 xCrash 是如何处理 ANR 事件的: 注册 SIGQUIT 信号处理器捕获 ANR 查询是否处于 NOT_RESPONDING 状态以判别是否自己发生了 ANR 寻找符号 Runtime::DumpForSigQuit 并调用以打印 ANR 日志 过程中提出了几个问题: NOT_RESPOND
2021-12-03
#ANR #崩溃 #xCrash #matrix

xCrash ANR 兼容性测试

Target Steps 目的 测试 xCrash 捕获 ANR 的能力在各个 Android 版本上的兼容性 平台 WeTest - 兼容性测试 - 选取 Android 5.1 至 Android 12 共 8 个机型 Apk Viomi Fridge Launcher V2.1.2 xCrash Version 3.0.0 ANR 捕获机制 注册 SIGQUIT
2021-11-29
#ANR #崩溃 #xCrash

深入分析 Kotlin Coroutines 是如何实现的(二)

async / awaitasync 和 await 是一对较为现代的 API 用以实现 **结构化并发编程 (Structured Concurrency)**,如下面代码所示,虽然 runBlocking 底层是单个线程,但是 delay 操作是非阻塞的,这两个操作的结合模拟了多线程环境下的阻塞 IO job1、job2 和 job3 三个任务并发执行,不需要编写任何线程同步代码如 Condi
2021-07-20
#kotlin #coroutine #协程

深入分析 Kotlin Coroutines 是如何实现的

launch - 启动协程从 kotlin coroutines 的 Hello World! 看起 // https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/test/guide/example-basic-01.kt fun main() = runBlocking {
2021-07-15
#kotlin #coroutine #协程

深入 ANR:产生的根源、处理流程和日志文件

overview在 阅读源码系列:ANR 是怎么产生的 聊过不及时消费 input event 会产生 ANR: InputReaderThread 不断地从 /dev/input 读取 input event 并放入 InputDispatcher.mInboundQueue 等待分发 InputDispatcher 寻找 input event 对应的 window 并分发到它的待发送队列里
2021-07-10
#anr

MP4 文件结构浅析

概述mp4 文件由一个个连续的 box 组成 mp4 = box + box + box + ... box 的类型繁多,没必要去死记它们的类型,记住两个关键 box 即可: moov - 保存了 SPS、PPS、track-chunk-sample 映射等关键信息 mdat - 保存了 H264 NALU 本文的目的是通过解析各种 box 从而了解 mp4 文件结构的核心概念 chunk一
2021-07-05
#mp4 #pts #dts #box

插件化之 Shadow - 初识

Overview假设我手上现在有猫眼、外卖、打车、买菜等好几个垂直领域的 APP,现在呢要开发一个集所有功能于一身的超级 APP 叫做美团,用 Shadow 该如何改造已有的垂直 APP 并集成到 meituan-app 这个新的 APP 内呢? 将猫眼 app project 拆分为 library project 和 app project library project 实际上就是原来的
2021-07-02

日志库 Logan

简介Logan 是 美团点评技术团队 开源的包含前端 SDK 和后端 Server 的一整套日志系统,也是公司日志库 VLog 的基础 Logan Android SDK 提供了这么几个 API: API Description Logan#w(log, type) 写日志(严谨地说应该是发送日志请求,因为日志是放在消息队列里等待被处理的) Logan#init 初始化 Log
2021-06-28
#log #logcat

崩溃日志收集库 xCrash 浅析

xCrash 是爱奇艺团队开源的一款崩溃日志收集库,可以收集 java crash、native crash 和 ANR 日志 日志格式为专用格式,内容还算丰富:机器信息、崩溃线程和其他线程的方法栈、logcat、打开的 fd 等等 … 默认配置为: java crash、native crash 和 ANR 都会被捕获 日志目录在 /data/data/[pkg]/files/tombston
2021-06-22
#uncaught exception #exception #崩溃 #崩溃日志 #crash #xcrash

killProcess 和 exit 的区别

Process.killProcess(pid)最终执行系统调用 kill class Process { public static final int SIGNAL_KILL = 9; public static final void killProcess(int pid) { sendSignal(pid, SIGNAL_KILL);
2021-06-20
#kill #exit
12345…7

搜索

Hexo Fluid