随笔分类 - 翻译
摘要:Android性能优化无疑是Android中的一个重点,也是一个难点。之所以说是重点,是因为在面试中,面试官对性能相关的问题是乐此不疲;在工作中,越是大厂,代码产生的性能问题越是苛刻。之所以说是难点,是因为工作中性能优化的任务往往都是由经验比较丰富的工程师或者架构师来担任的,而且Android性能方面的问题比较广,经常让初学者晕头转向。Android官网中对性能问题专门开辟了不小的篇幅来介绍,本文翻译了官网中的该系列文章,希望读者能够通过官网,登堂入室,尽早成为性能优化方面的行家里手。
阅读全文
摘要:性能优化是一个难点,也是一个重点。在面试时是一个经常遇到的考点,在平时工作中,也是考验一个程序员内功的地方。我们平时的一些编码习惯中包含了很多性能问题,但咱们往往容易忽略。本文中提供了一些良好的编码实践要点,来帮助开发者提高代码效率,从而提高应用性能。
阅读全文
摘要:在世界上,编写可以通过每一个性能测试的代码是有可能的,但是仍然感觉在某些时间段内显著缓慢、挂起或者冻住,或者花费太长的时间来处理输入事件。对于响应用户,最糟糕的事情是“应用未响应”(ANR)对话框。本文件将介绍ANR的产生原因,如何避免ANR,以及如何让应用保持响应的一些方法。
阅读全文
摘要:即便您的应用是快速而且响应的,但是某些设计决策仍然可能给用户带来问题——因为和其它应用或对话框的非计划内的交互,无意的数据丢失,不期的阻塞等。为了避免这些问题,您应该努力开发一款与系统和其它应用无缝交互的应用。本文将讨论常见的无缝性问题以及如何避免它们。
阅读全文
摘要:由于在Android设备中内存是比较稀有的,如果内存使用不当会严重影响用户体验。垃圾收集,共享内存,分配和回收应用内存,切换应用等都等情形下内存的行为,都是需要开发者们需要关注的。本文会从整体上阐述对于Android的内存,咱们需要了解哪些要点。
阅读全文
摘要:RAM在任何软件开发环境中都是有价值的资源,但是在移动操作系统中是更加有价值的,因为在移动操作系统中物理内存经常是受到限制的。虽然ART和Dalvik虚拟机执行常规的垃圾回收,但这并不意味着您可以忽略应用于何时何处分配和释放内存。您仍然需要避免引入内存泄漏以及在合适的时间释放所有由生命周期回调定义的引用对象。本文将阐述如何正确地管理内存。
阅读全文
摘要:发布于Android9(API等级为28)的电源管理特性影响了所有运行于该版本的应用,无论这些应用的目标版本是否为该版本。确保您应用在设备上恰当地运行是一件重要的事。Android Debug Bridge中提供了一些命令,来帮助检测电量的使用,本文将简单介绍这些命令的使用和作用。
阅读全文
摘要:Battery Historian工具可以深入了解随着时间的推移设备的电池消耗情况。在系统范围级别,该工具以HTML展示的方式视觉化了系统日志中与电源相关的事件。在具体的应用级别,该工具提供了多种数据,这些数据可以帮您识别耗尽电池的应用行为。
阅读全文
摘要:电池寿命是移动用户体验最重要的一个方面。设备没有电量就根本无法提供任何功能。所以,应用尽可能地重视电池寿命是非常重要的。本文是“为电池寿命做优化”系列文档所做的一篇概述,从整体上来介绍电池优化需要注意的事项。
阅读全文
摘要:在Android中熟练使用线程能够帮助您提升你应用的性能。本文将会讨论用线程工作的几个方面:使用UI线程或主线程工作;应用的生命周期和线程优先级之间的关系;平台提供的用于管理线程复杂度的方法;以及介绍系统框架提供的用于帮助使用线程的帮助类。
阅读全文
摘要:Android 9引入了一个新的电池管理特征,应用待机群组。应用待机群组帮助系统根据应用的最近使用时间和使用频率给应用对资源的请求排出优先次序。基于应用的使用模式,每一个应用被放置到5个群组中的一个。系统根据应用所在的群组,会限制每一个应用对设备资源的使用。
阅读全文
摘要:Android systrace对于分析UI性能有非常大的帮助作用。Android开发者官网中对该工具有专门的文档来描述,详细地介绍了systrace以及它的使用。本篇为了方便阅读,特地翻译了该官网文档。
阅读全文