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

陈文管的博客

分享有价值的内容

  • Android
  • SEO
  • 跨境电商
  • 前端开发
  • 网站建设
  • 自动化
  • 开发资源
  • 关于

Android ANR详解

2019年9月24日 | 最近更新于 上午12:51

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

一、ANR的类型

1. InputDispatching Timeout

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

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

2. Broadcast Timeout

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

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

【阅读全文 ▽ 】

Filed Under: Android

Android 子线程更新UI详解

2019年9月6日 | 最近更新于 上午12:56

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

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

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

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

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

【阅读全文 ▽ 】

Filed Under: Android

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

2019年9月1日 | 最近更新于 上午12:54

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

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

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

【阅读全文 ▽ 】

Filed Under: Android

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

2019年7月18日 | 最近更新于 上午12:20

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.WindowManager[......]

【阅读全文 ▽ 】

Filed Under: Android

adb shell 指令手册

2019年7月6日 | 最近更新于 下午8:40

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

adb shell 指令手册

一、ADB Debugging – Debug调试

1、adb devices

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

adb devices

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

e4b25377        device
emulator-5554  device

1)连接多台设备的情况下,指定一个设备操作

adb -s <dev[......]

【阅读全文 ▽ 】

Filed Under: Android

  • « Previous Page
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Next Page »
博客公众号
博客公众号

GitHub

https://github.com/wenguan0927

近期文章

  • Monkey测试有效性验证及测试策略优化
  • Python批量重命名压缩文件
  • Jenkins时区配置及定时构建
  • Node.js后端文件上传、文件接收保存及文件下载实现
  • JavaScript前后端JSON使用方法详解

友情链接

崔庆才的个人博客

Trinea  (codeKK)

Piasy

Paincker

程序亦非猿

wanandroid

陈祖杰的BLOG




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