随笔分类 -  性能

摘要:内存溢出是Android开发中一个老大难的问题,也是我们工作中不可回避的话题,本文将全面总结内存溢出、内存泄漏产生的原因,Android上常见的溢出或泄漏场景,对应的优化方案,以及常用的内存检测工具的使用。 阅读全文
posted @ 2021-08-02 21:28 宋者为王 阅读(3584) 评论(0) 推荐(0) 编辑
摘要:提起跨进程通信,大多数人首先会想到AIDL。AIDL实现起来需要aidl文件,略显复杂,而且要实现客户端和服务端互相通信,就更麻烦了。实际工作中有很多场景可以使用Messenger方式代替AIDL来实现跨进程通信,这种方法更简洁方便。本文将介绍一下Messenger方式的使用方法。 阅读全文
posted @ 2019-11-01 01:06 宋者为王 阅读(1747) 评论(0) 推荐(1) 编辑
摘要:Android性能优化无疑是Android中的一个重点,也是一个难点。之所以说是重点,是因为在面试中,面试官对性能相关的问题是乐此不疲;在工作中,越是大厂,代码产生的性能问题越是苛刻。之所以说是难点,是因为工作中性能优化的任务往往都是由经验比较丰富的工程师或者架构师来担任的,而且Android性能方面的问题比较广,经常让初学者晕头转向。Android官网中对性能问题专门开辟了不小的篇幅来介绍,本文翻译了官网中的该系列文章,希望读者能够通过官网,登堂入室,尽早成为性能优化方面的行家里手。 阅读全文
posted @ 2019-05-07 08:33 宋者为王 阅读(784) 评论(2) 推荐(2) 编辑
摘要:性能优化是一个难点,也是一个重点。在面试时是一个经常遇到的考点,在平时工作中,也是考验一个程序员内功的地方。我们平时的一些编码习惯中包含了很多性能问题,但咱们往往容易忽略。本文中提供了一些良好的编码实践要点,来帮助开发者提高代码效率,从而提高应用性能。 阅读全文
posted @ 2019-05-06 14:53 宋者为王 阅读(865) 评论(0) 推荐(0) 编辑
摘要:在世界上,编写可以通过每一个性能测试的代码是有可能的,但是仍然感觉在某些时间段内显著缓慢、挂起或者冻住,或者花费太长的时间来处理输入事件。对于响应用户,最糟糕的事情是“应用未响应”(ANR)对话框。本文件将介绍ANR的产生原因,如何避免ANR,以及如何让应用保持响应的一些方法。 阅读全文
posted @ 2019-05-01 13:54 宋者为王 阅读(661) 评论(0) 推荐(0) 编辑
摘要:即便您的应用是快速而且响应的,但是某些设计决策仍然可能给用户带来问题——因为和其它应用或对话框的非计划内的交互,无意的数据丢失,不期的阻塞等。为了避免这些问题,您应该努力开发一款与系统和其它应用无缝交互的应用。本文将讨论常见的无缝性问题以及如何避免它们。 阅读全文
posted @ 2019-04-30 17:45 宋者为王 阅读(544) 评论(0) 推荐(1) 编辑
摘要:由于在Android设备中内存是比较稀有的,如果内存使用不当会严重影响用户体验。垃圾收集,共享内存,分配和回收应用内存,切换应用等都等情形下内存的行为,都是需要开发者们需要关注的。本文会从整体上阐述对于Android的内存,咱们需要了解哪些要点。 阅读全文
posted @ 2019-04-23 14:20 宋者为王 阅读(792) 评论(0) 推荐(0) 编辑
摘要:RAM在任何软件开发环境中都是有价值的资源,但是在移动操作系统中是更加有价值的,因为在移动操作系统中物理内存经常是受到限制的。虽然ART和Dalvik虚拟机执行常规的垃圾回收,但这并不意味着您可以忽略应用于何时何处分配和释放内存。您仍然需要避免引入内存泄漏以及在合适的时间释放所有由生命周期回调定义的引用对象。本文将阐述如何正确地管理内存。 阅读全文
posted @ 2019-04-19 18:11 宋者为王 阅读(1080) 评论(0) 推荐(0) 编辑
摘要:发布于Android9(API等级为28)的电源管理特性影响了所有运行于该版本的应用,无论这些应用的目标版本是否为该版本。确保您应用在设备上恰当地运行是一件重要的事。Android Debug Bridge中提供了一些命令,来帮助检测电量的使用,本文将简单介绍这些命令的使用和作用。 阅读全文
posted @ 2019-04-18 15:39 宋者为王 阅读(1200) 评论(0) 推荐(0) 编辑
摘要:Battery Historian工具可以深入了解随着时间的推移设备的电池消耗情况。在系统范围级别,该工具以HTML展示的方式视觉化了系统日志中与电源相关的事件。在具体的应用级别,该工具提供了多种数据,这些数据可以帮您识别耗尽电池的应用行为。 阅读全文
posted @ 2019-04-18 08:38 宋者为王 阅读(1243) 评论(0) 推荐(1) 编辑
摘要:电池寿命是移动用户体验最重要的一个方面。设备没有电量就根本无法提供任何功能。所以,应用尽可能地重视电池寿命是非常重要的。本文是“为电池寿命做优化”系列文档所做的一篇概述,从整体上来介绍电池优化需要注意的事项。 阅读全文
posted @ 2019-04-16 20:22 宋者为王 阅读(1001) 评论(0) 推荐(2) 编辑
摘要:在Android中熟练使用线程能够帮助您提升你应用的性能。本文将会讨论用线程工作的几个方面:使用UI线程或主线程工作;应用的生命周期和线程优先级之间的关系;平台提供的用于管理线程复杂度的方法;以及介绍系统框架提供的用于帮助使用线程的帮助类。 阅读全文
posted @ 2019-04-15 16:50 宋者为王 阅读(863) 评论(6) 推荐(1) 编辑
摘要:Android 9引入了一个新的电池管理特征,应用待机群组。应用待机群组帮助系统根据应用的最近使用时间和使用频率给应用对资源的请求排出优先次序。基于应用的使用模式,每一个应用被放置到5个群组中的一个。系统根据应用所在的群组,会限制每一个应用对设备资源的使用。 阅读全文
posted @ 2019-04-12 11:23 宋者为王 阅读(1277) 评论(2) 推荐(2) 编辑
摘要:Android systrace对于分析UI性能有非常大的帮助作用。Android开发者官网中对该工具有专门的文档来描述,详细地介绍了systrace以及它的使用。本篇为了方便阅读,特地翻译了该官网文档。 阅读全文
posted @ 2019-04-05 19:24 宋者为王 阅读(6140) 评论(0) 推荐(0) 编辑
摘要:广播在平时的开发中使用非常广泛,尤其在系统源码中。广播接收器作为四大组件之一,有着很丰富的内容,所以要正确理解和使用广播,也不是一件简单的事情。广播对性能的影响,广播的机制,接收器处理耗时问题,接收器所在线程问题等这些都是开发者需要理解的内容。 阅读全文
posted @ 2019-02-19 12:21 宋者为王 阅读(3310) 评论(0) 推荐(2) 编辑
摘要:只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一。Android系统的运行由大量相互独立的进程相互协助来完成的,所以Android进程间通信问题,是做好Android开发高级工程师必须要跨过的一道坎。 阅读全文
posted @ 2019-01-11 17:33 宋者为王 阅读(12939) 评论(0) 推荐(3) 编辑
摘要:1、ANR概念 2、ANR发生场景 Android开发者官网 上说到了两个原因:(1)点击按键或者触摸屏幕等输入事件在5s内没有响应;(2)10s内没有完成广播事件。如下所示: Android will display the ANR dialog for a particular applicat 阅读全文
posted @ 2018-12-20 11:35 宋者为王 阅读(1546) 评论(1) 推荐(0) 编辑
摘要:尽管Android基于Linux Kernel,但在进程管理上,却采取了另外一种独特的设计:当进程活动停止时,系统并不会立刻结束它,而是会尽可能地将该进程保存在内存中,在以后的某个时间,一旦需要该进程,系统就会立即进入该进程,而无需再初始化。Android根据重要程度将应用进程划分为5个等级,并依次给不同等级的进程设置了阈值,当系统内存不足时,会依据阈值来移除对应等级的进程,从而回收内存,供高优先级进程运行。 阅读全文
posted @ 2018-10-24 20:00 宋者为王 阅读(10328) 评论(0) 推荐(1) 编辑
摘要:Android虚拟机的使用,使得android应用和Linux内核分离,这样做使得android系统更稳定可靠,比如程序中即使包含恶意代码,也不会直接影响系统文件;也提高了跨平台兼容性。在Android4.4以前的系统中,Android系统均采用Dalvik作为运行andorid程序的虚拟机,在android发展中具有举足轻重的地位,而Android 5.0及以后的系统使用ART虚拟机取代Dalvik,在性能上做了很大的优化。 阅读全文
posted @ 2018-10-06 15:49 宋者为王 阅读(4059) 评论(0) 推荐(0) 编辑
摘要:android性能优化问题一直是android开发者遇到的难点之一。性能优化包含的内容广而且比较深,内存的分配、管理、回收、溢出、优化,android进程机制,各种性能优化工具的使用,电量,界面流畅度等等,无一不是需要深入探究和分析才能办得到的。 阅读全文
posted @ 2018-10-03 15:12 宋者为王 阅读(2134) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示