摘要:
这篇文章将解决你以下几个疑问: Activity的生命周期在不同场景有何种不同提现? Activity启动模式有哪些?有何不同? Activity是如何处理数据的? Activity和Context有什么关系? Android中有哪些进程? 一、生命周期 1.1 Dialog 弹出时 如果是单纯是创 阅读全文
摘要:
缘起 最近看了 京东零售技术 发表的一篇文章:AOP 技术在 APP 开发中的多场景实践 ,文章中介绍了 AOP 技术的一种使用场景:线程使用数优化。看完之后感觉挺有实践意义的,但文章中并没有给出具体的实现代码,所以我就做了一次实操,基本实现了文章中介绍的效果,本文就来详细介绍下我的实现始末,并给出 阅读全文
摘要:
一、前言 本篇文章主要涉及以下三个问题: ViewModel 在 Activity 发生旋转等配置发生变化所导致的重建,能恢复数据吗? 如果 1 能,从源码角度分析,数据存在哪?怎么存储的?怎么读取的? 当 Activity 切换到后台,被系统杀死(进程存活),此时回到 Activity 导致的重建 阅读全文
摘要:
作为Android的基础知识,消息机制已被无数人写过。笔者曾经也写过一篇深入分析的文章,但总体而言乏善可陈,并无新颖之处。最近恰好重新整理了一下思路,想着可以从细节的角度出发,对一些冷门的知识点做一个归纳。记录于此,供大家批评讨论。 本文所有代码基于Android Q (10.0) 1. 哪个消息在 阅读全文
摘要:
什么是启动耗时 分为两个角度: 冷启动:就是点击应用图标到打开应用的冷启动响应时间,且前提是应用从未被创建过进程, 热启动:测量点击应用图标到打开应用的热启动响应时间,被测应用之前已经被打开过,无关闭应用行为,测试时被重新切换到前台 启动耗时影响什么 第一想到的肯定是用户体验,如果你的应用半分钟没有 阅读全文
摘要:
原文:Bridging the gap between coroutines, JVM threads, and concurrency problems 作者:Manuel Vivo 译者:Flywith24 「协程是轻量级的线程」,是不是经常听到这样的描述?这个描述对你理解协程有实质性的帮助吗? 阅读全文
摘要:
本文分析基于Android S(12) 当App发生ANR或是System触发watchdog时,系统都希望生成一份trace文件,用来记录各个线程的调用栈信息,以及一些进程/线程的状态信息。这份文件通常存放在/data/anr目录下,APP开发者拿不到。不过从Android R(11)开始,App 阅读全文
摘要:
小伙子,简历上说你搞过串口通信,说说吧! 1、串口通信是什么 串行通信技术,是指通信双方按位进行,遵守时序的一种通信方式 说人话就是将数据按位依次传输 画个图 串口就相当于一个管道,在硬件方面也有表示,有三根跳线, 一个是Tx线,一个是Rx线,还有一根是地线,这个管道传输的数据,也就是bit是串行的 阅读全文
摘要:
本文分析基于Android S(12) 当App发生ANR或是System触发watchdog时,系统都希望生成一份trace文件,用来记录各个线程的调用栈信息,以及一些进程/线程的状态信息。这份文件通常存放在/data/anr目录下,APP开发者拿不到。不过从Android R(11)开始,App 阅读全文
摘要:
作者 Flywith24 Android 常用的分层架构 Android 中加载 UI 数据不是一件轻松的事,开发者经常需要处理各种边界情况。如各种生命周期和因为「配置更改」导致的 Activity 的销毁与重建。 「配置更改」的场景有很多:屏幕旋转,切换至多窗口模式,调整窗口大小,浅色模式与暗黑模 阅读全文