Android性能优化
文章平均质量分 81
迎风招展
这个作者很懒,什么都没留下…
展开
-
LeakCanary (一)
LeakCanary Android 和 Java 内存泄露检测。 “A small leak will sink a great ship.” - Benjamin Franklin 千里之堤, 毁于蚁穴。 -- 《韩非子·喻老》 demo 一个非常简单的 LeakCanary demo: https://github.com原创 2016-02-29 00:55:48 · 1026 阅读 · 0 评论 -
LeakCanary (二)
本文为LeakCanary: Detect all memory leaks!的翻译。原文在: https://corner.squareup.com/2015/05/leak-canary.html java.lang.OutOfMemoryError at android.graphics.Bitmap.nativeCreate(Bitmap.java:-2)原创 2016-02-29 00:57:07 · 444 阅读 · 0 评论 -
BlockCanary
BlockCanary — 轻松找出Android App界面卡顿元凶 BlockCanary是我利用个人时间开发的Android平台上的一个轻量的,非侵入式的性能监控组件,应用只需要简单地加几行,提供一些该组件需要的上下文环境就可以在使用应用的时候检测主线程上的各种卡顿问题,并通过组件提供的各种信息分析出原因并进行修复。 背景 在复杂的项目环境中,由于历史代码庞大,业务原创 2016-02-29 00:49:21 · 2891 阅读 · 0 评论 -
Android 系统稳定性 - ANR(三)
1.4 如何避免ANR 1.4.1 ANR发生在主线程,不要阻塞主线程 Android应用程序的所有标准组件全部运行在一个单一的主线程中,在主线程中所做的任何耗时的操作都有可能造成ANR,因为这些耗时的操作会使得主线程没有机会处理用户输入事件或者广播事件。 因此在主线程中执行的任何函数所做的工作都应该尽可能的少,特别是对于Activity的生命周期函数来转载 2016-02-29 00:23:43 · 331 阅读 · 0 评论 -
Android 系统稳定性 - ANR(二)
1.2如何分析ANR问题 引起ANR问题的根本原因,总的来说可以归纳为两类: 应用进程自身引起的,例如: 主线程阻塞、挂起、死循环 应用进程的其他线程的CPU占用率高,使得主线程无法抢占到CPU时间片 其他进程间接引起的,例如: 当前应用进程进行进程间通信请求其他进程,其他进程的操作长时间没有反馈 其他进程的CPU占用率高,使得当前转载 2016-02-29 00:23:08 · 786 阅读 · 0 评论 -
Android 系统稳定性 - ANR(一)
如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡、缴税和ANR。这么说是夸张了,但是由于Android本身的设计,以及应用程序和系统在开发过程中的缺陷,经常会在测试过程中遇到各种各样的ANR问题。在功能性的测试中还少一些,主要是在压力测试中(例如Monkey测试)会遇到非常多的ANR问题。本章的目的就是汇总笔者在工作中遇到的各种ANR问题,将其归纳总结出一套分析和处转载 2016-02-29 00:21:26 · 382 阅读 · 0 评论 -
Android性能优化-泛谈 (一)
Android性能优化 根据Android的层次结构,性能优化也是分层次进行的,本文会分别对Application、Framework、Native、Kernel各层做总结,每层主要会从性能优化的基本思想、优化技巧、优化工具几个方面进行说明。 第一章Android应用性能优化(概述) 应用程序的性能问题是最明显、最容易体现的一类,表现形式也五花八门,举几个例子:转载 2016-02-29 00:14:58 · 385 阅读 · 0 评论 -
使用Systrace分析UI性能
使用Systrace分析UI性能 原文链接 : Analyzing UI Performance with Systrace原文作者 : Android Developers译文出自 : 开发技术前线 www.devtf.cn。未经允许,不得转载!译者 : desmond1121校对者: desmond1121 开发应用的时候,应该检查它是否有流畅的用户体验,即60fps的转载 2016-02-29 00:59:16 · 1690 阅读 · 3 评论