• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

陈文管的博客

分享有价值的内容

  • Android
  • Affiliate
  • SEO
  • 前后端
  • 网站建设
  • 自动化
  • 开发资源
  • 关于

Android ANR详解

2019年9月24日发布 | 最近更新于 2023年8月28日

ANR(Application Not responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。本文内容包括ANR的类型说明,ANR的原理解析,ANR四种检测方案介绍和常见ANR问题的分析解决方法。

一、ANR的类型

1. InputDispatching Timeout

超时时间:谷歌平台默认5s,MTK平台8s

原因:对输入事件(例如按键或屏幕轻触事件)没有响应

2. Broadcast Timeout

超时时间:前台广播10s,后台广播60s

原因:在特定时间内无法处理完成[……]

【阅读全文 ▽ 】

Android 子线程更新UI详解

2019年9月6日发布 | 最近更新于 2023年8月28日

本文内容介绍子线程操作UI抛出的CalledFromWrongThreadException异常解析,子线程操作UI的几种方法,及几种在子线程中操作UI导致的异常现象说明。

一、子线程中操作UI一定会报错?

不一定,如果是在onCreate中子线程操作UI控件,不会发生异常,可以正常更新UI,下面看下源码。

1. 首先是ViewRootImpl抛异常的地方

void checkThread() {
    if (mThread != Thread.currentThread()) {
        throw new CalledFromWrongThreadException(
[......]

【阅读全文 ▽ 】

Android Home键之后后台启动Activity延迟5秒

2019年9月1日发布 | 最近更新于 2023年8月28日

在客户反馈中遇到一个问题,Home键把应用置于后台,外部通过对接协议广播的方式,应用内接收到广播之后通过startActivity把应用从后台调起到前台,只是普通的逻辑调用,但是应用在后台停留了10S之后,应用才回到前台,并先出现了黑屏,之后才显示应用界面的问题。

从Activity的生命周期Log分析,在调用了startActivity之后,已经走到了onResume,但是过了5S之后,应用才显示出来。

一开始是怀疑系统方的问题,系统方分析之后,单单startActivity就花费了3S时间,之后还有应用内的Activity切换又耗费额外的2S,这5S时间可以看作是主线程的卡顿导致。但另外的5S是在onResume之后[……]

【阅读全文 ▽ 】

Toast 自定义布局重复添加异常分析

2019年7月18日发布 | 最近更新于 2023年8月28日

Toast Exception : java.lang.IllegalStateException: View has already been added to the window manager.

Crash堆栈如下:

Exception:java.lang.IllegalStateException: View com.autonavi.skin.view.SkinRelativeLayout{95730 V.E...... ......I. 0,0-0,0}
    has already been added to the window manager.
at android.view.W[......]

【阅读全文 ▽ 】

adb shell 指令手册

2019年7月6日发布 | 最近更新于 2024年9月9日

adb即android debug bridge(安卓调试桥),本文内容包括常用adb shell相关命令的使用及说明,涉及到adb debug调试、adb无线连接、adb应用包操作、adb文件操作、adb网络操作、adb日志操作、adb截屏操作、adb系统交互相关操作。

一、ADB Debugging – Debug调试

1、adb devices

打印挂载的虚拟机/设备信息

adb devices

输入以上命令回车之后,输出设备序列号和状态 

e4b25377        device
emulator-5554  de[......]

【阅读全文 ▽ 】

AES加密解密

2019年6月23日发布 | 最近更新于 2023年8月28日

在项目开发中遇到AES加密解密的问题,因为一个参数问题卡了比较久,做个记录。并给出AES加密解密分别用Java、Python和C++的实现代码。

一、AES简介

AES加密算法即密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

AES加密算法涉及4种操作:字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。数据块分组长度必须为128比特,密钥长度可以是128比特、192[……]

【阅读全文 ▽ 】

Android开源框架指南

2019年2月23日发布 | 最近更新于 2023年8月28日

本文内容是关于Android开源框架链接资源,及相对较好的框架解析参考资料,在线源码链接资源分享整理,你想了解的Android开源框架一手参考资料都在这里,持续更新中~

一、四大图片加载框架

1、官方资源

2、其他可选库

AndroidQuery : ImageLoading

DroidParts : ImageFetcher

UrlImageViewHelper

Volley : ImageLoader

3、框架解析参考资料

图片加载框架Universal-Image-Loader源码解析

Android Universal Image Load[……]

【阅读全文 ▽ 】

美图手机音乐Widget动画实现

2018年11月15日发布 | 最近更新于 2023年8月28日

背景:

13年6月份毕业,刚好美图手机团队组建,从0开始几个高级工程师带着几个应届生小白开始做美图手机,从美图手机1.0到3.0版本做了近三年时间总算有点样子,跟着几位夏新出来的老前辈也学到了不少东西。个人负责手机的多媒体模块,音乐、视频、FM、录音机、下载、MediaProvider和相应Framework层的修改。

其中相对有意思的是音乐Widget,涉及到很多自定义动画的实现,包括专辑图片的转场切换、水波和自定义图形的进度条等。

一、Bitmap动画

以下给出主要的代码块逻辑,详细实现逻辑可从文末给出的GitHub链接工程中下载查看。

1、Widget 1.0 

@Remot[......]

【阅读全文 ▽ 】

Android ButterKnife 中文手册

2018年5月20日发布 | 最近更新于 2023年8月28日

本文分为五个章节:一、ButterKnife是什么?    二、ButterKnife的好处    三、怎么集成ButterKnife    四、ButterKnife使用方法    五、ButterKnife使用示例    六、参考资料

一、ButterKnife是什么?

ButterKnife是Android平台上一个简单的依赖注入开源框架;

二、ButterKnife的好处

ButterKnife使用的[……]

【阅读全文 ▽ 】

Android OOM问题分析

2018年4月30日发布 | 最近更新于 2023年8月28日

本文包括四章内容:一、Android OOM类型;二、OOM分析工具;三、OOM实例问题分析定位;四、参考资源

一、Android OOM类型

在Android平台上常见的OOM有如下几种:

1、使用static修饰Context变量,Context被Hold住了导致Activity无法销毁,在之前的Android Context源码解析中有提及这一情况。

2、Bitmap没有及时回收,调用recycle()函数并不能立即释放Bitmap,读取Bitmap到内存的时候没有做采样率的设置;

3、线程数超限,proc/pid/status中记录的线程数超过proc/sys/kernel/threads-ma[……]

【阅读全文 ▽ 】

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Go to Next Page »

工具网站

onetools.online: 一站式免费在线工具库,包括文本类、文档类、图像类、音频类、视频类、开发类、运维类、设计类、学术类、查询类及其他工具

latlongconverter.online: 地图坐标系批量转换(WGS84、GCJ02、BD09 、CGCS2000、UTM、度分秒和十进制等等)

xmlformatter.online: XML在线工具(格式化、压缩、合法性验证、转换XML文件为多种类对象类型,转换为交互式树状视图)

jpg2webp.com: Webp 和 Jpg、Png图片格式互转(单次最多50张)

博客公众号
博客公众号

GitHub

https://github.com/wenguan0927

近期文章

  • onetools.online 工具库新功能更新<版本2>
  • OneTools.online 一站式工具库已上线
  • Android 蓝牙模块关键词解析
  • Android PDF文件浏览及目录显示交互实现
  • Android 航线缩略图简易绘制实现

友情链接

崔庆才的个人博客

Trinea  (codeKK)

Piasy

Paincker

wanandroid

陈祖杰的BLOG

闽ICP备18001825号-1 · Copyright © 2025 · Powered by chenwenguan.com