04 2019 档案
摘要:即便您的应用是快速而且响应的,但是某些设计决策仍然可能给用户带来问题——因为和其它应用或对话框的非计划内的交互,无意的数据丢失,不期的阻塞等。为了避免这些问题,您应该努力开发一款与系统和其它应用无缝交互的应用。本文将讨论常见的无缝性问题以及如何避免它们。
阅读全文
摘要:X强实业股份有限公司 部门解散 同事讨薪 开始喊得最带劲的最先妥协 吃亏的最后一个 人性丑陋
阅读全文
摘要:JDK提供了两个方法,System.currentTimeMillis()和System.nanoTime(),这两个方法都可以用来获取表征当前时间的数值。但是如果不仔细辨别这两个方法的差别和联系,在使用当中也很容易栽跟头。笔者在前不久的工作当中使用System.currentTimeMillis()时就踩了一个大坑,后来在查明这两者的特性后,才用System.nanoTime()来填了这个坑。本文,笔者就以自己的踩坑和填坑经历来介绍一下这两个方法。
阅读全文
摘要:由于在Android设备中内存是比较稀有的,如果内存使用不当会严重影响用户体验。垃圾收集,共享内存,分配和回收应用内存,切换应用等都等情形下内存的行为,都是需要开发者们需要关注的。本文会从整体上阐述对于Android的内存,咱们需要了解哪些要点。
阅读全文
摘要:RAM在任何软件开发环境中都是有价值的资源,但是在移动操作系统中是更加有价值的,因为在移动操作系统中物理内存经常是受到限制的。虽然ART和Dalvik虚拟机执行常规的垃圾回收,但这并不意味着您可以忽略应用于何时何处分配和释放内存。您仍然需要避免引入内存泄漏以及在合适的时间释放所有由生命周期回调定义的引用对象。本文将阐述如何正确地管理内存。
阅读全文
摘要:发布于Android9(API等级为28)的电源管理特性影响了所有运行于该版本的应用,无论这些应用的目标版本是否为该版本。确保您应用在设备上恰当地运行是一件重要的事。Android Debug Bridge中提供了一些命令,来帮助检测电量的使用,本文将简单介绍这些命令的使用和作用。
阅读全文
摘要:Battery Historian工具可以深入了解随着时间的推移设备的电池消耗情况。在系统范围级别,该工具以HTML展示的方式视觉化了系统日志中与电源相关的事件。在具体的应用级别,该工具提供了多种数据,这些数据可以帮您识别耗尽电池的应用行为。
阅读全文
摘要:电池寿命是移动用户体验最重要的一个方面。设备没有电量就根本无法提供任何功能。所以,应用尽可能地重视电池寿命是非常重要的。本文是“为电池寿命做优化”系列文档所做的一篇概述,从整体上来介绍电池优化需要注意的事项。
阅读全文
摘要:在Android中熟练使用线程能够帮助您提升你应用的性能。本文将会讨论用线程工作的几个方面:使用UI线程或主线程工作;应用的生命周期和线程优先级之间的关系;平台提供的用于管理线程复杂度的方法;以及介绍系统框架提供的用于帮助使用线程的帮助类。
阅读全文
摘要:Android 9引入了一个新的电池管理特征,应用待机群组。应用待机群组帮助系统根据应用的最近使用时间和使用频率给应用对资源的请求排出优先次序。基于应用的使用模式,每一个应用被放置到5个群组中的一个。系统根据应用所在的群组,会限制每一个应用对设备资源的使用。
阅读全文
摘要:Android systrace对于分析UI性能有非常大的帮助作用。Android开发者官网中对该工具有专门的文档来描述,详细地介绍了systrace以及它的使用。本篇为了方便阅读,特地翻译了该官网文档。
阅读全文
摘要:systrace工具打开路径 以AndroidStudio(后面简写为AS),在顶部菜单栏中 Tools>Android>Android Device Monitor 打开后看到如下界面,鼠标停在红框图标上,会显示“Capture system wide trace using Android sy
阅读全文
摘要:从Android6.0开始,Android系统对权限的处理产生了很大的变化。如果APP运行的设备系统版本为Android6.0或更高,并且target在23或更高,那么dangerious级别的权限将由之前的安装时授予变成运行时动态申请。这样一来,当运用到系统权限相关的功能时,就需要手动处理好权限申请的用户交互问题,学习和掌握更多关于权限的知识就显得更为重要了。
阅读全文